Re: [patch 2/2] x86_64: ticket lock spinlock

Nick Piggin
2007-08-09T01:43:10Z

On Wed, Aug 08, 2007 at 12:26:55PM +0200, Andi Kleen wrote:
>
> > *
> > * (the type definitions are in asm/spinlock_types.h)
> > */
> >
> > +#if (NR_CPUS > 256)
> > +#error spinlock supports a maximum of 256 CPUs
> > +#endif
> > +
> > static inline int __raw_spin_is_locked(raw_spinlock_t *lock)
> > {
> > - return *(volatile signed int *)(&(lock)->slock) <= 0;
> > + int tmp = *(volatile signed int *)(&(lock)->slock);
>
> Why is slock not volatile signed int in the first place?

Don't know really. Why does spin_is_locked need it to be volatile?

> > - int oldval;
> > + short tmp;
> > + short oldval;
>
> Broken white space?

Hmm, I'll fix it.

Thanks,
Nick