Re: Pls apply this spinlock patch to the kernel

From: Linus Torvalds (torvalds@transmeta.com)
Date: Mon Oct 29 2001 - 12:32:52 EST


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/



This archive was generated by hypermail 2b29 : Wed Oct 31 2001 - 21:00:37 EST