This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: [PATCH 1/2] atomic.h atomic64_t standardization
- From: Mathieu Desnoyers <compudj at krystal dot dyndns dot org>
- To: Paul Mundt <lethal at linux-sh dot org>, Christoph Hellwig <hch at infradead dot org>, linux-kernel at vger dot kernel dot org, Andrew Morton <akpm at osdl dot org>, Ingo Molnar <mingo at redhat dot com>, Greg Kroah-Hartman <gregkh at suse dot de>, Thomas Gleixner <tglx at linutronix dot de>, Tom Zanussi <zanussi at us dot ibm dot com>, Karim Yaghmour <karim at opersys dot com>, Jes Sorensen <jes at sgi dot com>, Richard J Moore <richardj_moore at uk dot ibm dot com>, "Martin J. Bligh" <mbligh at mbligh dot org>, Michel Dagenais <michel dot dagenais at polymtl dot ca>, Douglas Niehaus <niehaus at eecs dot ku dot edu>, ltt-dev at shafik dot org, systemtap at sources dot redhat dot com
- Date: Thu, 30 Nov 2006 22:41:43 -0500
- Subject: Re: [PATCH 1/2] atomic.h atomic64_t standardization
- References: <20061124215518.GE25048@Krystal> <20061127165643.GD5348@infradead.org> <20061201031153.GA10835@Krystal> <20061201033423.GB27639@linux-sh.org>
* Paul Mundt (lethal@linux-sh.org) wrote:
> On Thu, Nov 30, 2006 at 10:11:53PM -0500, Mathieu Desnoyers wrote:
> > --- a/include/asm-generic/atomic.h
> > +++ b/include/asm-generic/atomic.h
> [snip]
> > +#if 0
> > +/* Atomic add unless is only effective on atomic_t on powerpc (at least) */
> > +static inline long atomic_long_add_unless(atomic_long_t *l, long a, long u)
> > +{
> > + atomic_t *v = (atomic_t *)l;
> > +
> > + return atomic_add_unless(v, a, u);
> > +}
> > +
> > +static inline long atomic_long_inc_not_zero(atomic_long_t *l)
> > +{
> > + atomic_t *v = (atomic_t *)l;
> > +
> > + return atomic_inc_not_zero(v);
> > +}
> > +#endif //0
> > +
>
> Why is this in the patch?
>
Oops, I forgot to remove these comments after I fixed it in the powerpc code.
Code for all other architectures will have to modified too : I just modified
i386, x86_64, mips, arm and powerpc.
Thanks for reporting.
Mathieu
Here is the fix :
--- a/include/asm-generic/atomic.h
+++ b/include/asm-generic/atomic.h
@@ -122,22 +122,19 @@ static inline long atomic_long_dec_retur
return atomic64_dec_return(v);
}
-#if 0
-/* Atomic add unless is only effective on atomic_t on powerpc (at least) */
static inline long atomic_long_add_unless(atomic_long_t *l, long a, long u)
{
- atomic_t *v = (atomic_t *)l;
+ atomic64_t *v = (atomic64_t *)l;
- return atomic_add_unless(v, a, u);
+ return atomic64_add_unless(v, a, u);
}
static inline long atomic_long_inc_not_zero(atomic_long_t *l)
{
- atomic_t *v = (atomic_t *)l;
+ atomic64_t *v = (atomic64_t *)l;
- return atomic_inc_not_zero(v);
+ return atomic64_inc_not_zero(v);
}
-#endif //0
#else
OpenPGP public key: http://krystal.dyndns.org:8080/key/compudj.gpg
Key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68