Re: Pls apply this spinlock patch to the kernel

Linus Torvalds (torvalds@transmeta.com)
Mon, 29 Oct 2001 09:32:52 -0800 (PST)


On Mon, 29 Oct 2001, Alan Cox wrote:
>
> So why not just add a macro for aligning then do
>
> spinlock_t pagecache_lock ____cacheline_aligned_in_smp = SPIN_LOCK_UNLOCKED;
> cache_line_pad;
>
> where cache_line_pad is an asm(".align") - I would assume that is
> sufficient - Linus ?

Gcc won't guarantee that it puts different variables adjacently - the
linker (or even the compiler) can move things around to make them fit
better. Which is why it would be better to use the separate section trick.

(The union trick Juergen uses obviously also works around this, but
requires that the _users_ be aware of what kind of lock it is, which I
don't particularly like - then you can't just change the lock, you have to
change the users too).

Linus

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