This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: [PATCH] atomic.h : standardizing atomic primitives
- From: Peter Zijlstra <a dot p dot zijlstra at chello dot nl>
- To: Mathieu Desnoyers <mathieu dot desnoyers at polymtl dot ca>
- Cc: linux-kernel at vger dot kernel dot org, Linus Torvalds <torvalds at osdl dot org>, Andrew Morton <akpm at osdl dot org>, Ingo Molnar <mingo at redhat dot com>, Greg Kroah-Hartman <gregkh at suse dot de>, Christoph Hellwig <hch at infradead dot org>, ltt-dev at shafik dot org, systemtap at sources dot redhat dot com, Douglas Niehaus <niehaus at eecs dot ku dot edu>, "Martin J. Bligh" <mbligh at mbligh dot org>, Thomas Gleixner <tglx at linutronix dot de>
- Date: Wed, 31 Jan 2007 17:36:03 +0100
- Subject: Re: [PATCH] atomic.h : standardizing atomic primitives
- References: <11685657414033-git-send-email-mathieu.desnoyers@polymtl.ca> <1170257321.9516.42.camel@twins> <20070131162539.GA31985@Krystal>
On Wed, 2007-01-31 at 11:25 -0500, Mathieu Desnoyers wrote:
> Hi Peter,
>
> Thanks for testing Andrew's fixes.
I haven't actually taken any from him. I just started afresh.
> I am wondering about what happened to
> the Powerpc recursive include problems Andrew experienced. Quoting him :
>
> "OK, I fixed eight separate compile errors in this patch series and
> now powerpc is being very ugly with a twisty maze of include
> dependencies.
>
> I'm giving up. Someone should publish a suite of cross-compilers for us
> so stuff like this doesn't need to happen."
>
> I see that you have removed the include <asm/atomic.h> from bitops.h and
> system.h in powerpc. If it compiles on every architectures, then it's a
> good approach.
Yeah, I fiddled around with those powerpc headers a bit until it stopped
whining. Maybe the powerpc folks ought to eyeball it a bit, but it build
a kernel image here.
> I planned to post a new patch which uses macros for cmpxchg and xchg in
> asm-generic/atomic.h instead of inline functions. It would remove the
> dependency on system.h. However, if your modifications work well on
> every architecture, my fix might not be needed. Anyone has a preferred
> solution ? I have not been able to setup my cross-compiler test bench
> yet due to some hardware issues and waited for it before I released
> further fixes, but if you want to try my macro-based fix, I could post
> it.
Whatever people want; inlines are generally preferred due to the extra
type checking.
I just needed atomic_long_cmpxchg to work so I kicked your patches about
till they compiled.
> And about the alpha build, Does the assembler errors also happen without
> this patch ?
Yes. Something fishy going on there... gcc-4.1.1 + binutils-2.17
Compiler seems to build fine, but kernel code makes it go belly up.