Re: [PATCH] i386 spinlocks should use the full 32 bits, not only 8bits

From: Arjan van de Ven
Date: Mon Oct 17 2005 - 02:20:35 EST


On Mon, 2005-10-17 at 00:03 -0700, Andrew Morton wrote:
> Eric Dumazet <dada1@xxxxxxxxxxxxx> wrote:
> >
> > 2) The unlock sequence is not anymore inlined. It appears twice or three times
> > in the kernel.
>
> Is that intentional though? With <randon .config> my mm/swapfile.i has an
> unreferenced
>
> static inline void __raw_spin_unlock(raw_spinlock_t *lock)
> {
> __asm__ __volatile__(
> "movb $1,%0" :"=m" (lock->slock) : : "memory"
> );
> }
>
> which either a) shouldn't be there or b) should be referenced.
>
> Ingo, can you confirm that x86's spin_unlock is never inlined? If so,
> what's my __raw_spin_unlock() doing there?

I would really want this one inlined!
A movb is a much shorter code sequence than a call (esp if you factor in
argument setup). De-inlining to save space is nice and all, but it can
go too far....



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/