Re: [PATCH] WorkStruct: Implement generic UP cmpxchg() where an archdoesn't support it

From: Roman Zippel
Date: Wed Dec 06 2006 - 20:53:26 EST


Hi,

On Wed, 6 Dec 2006, Linus Torvalds wrote:

> > m68060 produces a trap for unaligned atomic access, unfortunately standard
> > alignment is smaller than this.
>
> Umm. on 68060, since it's 32-bit, you'd only have the 32-bit case. Are you
> saying that you can't do a 32-bit atomic access at any 32-bit aligned
> boundary? Or are you saying that gcc aligns normal 32-bit entities at
> 16-bit alignment? Neither of those sound very likely.

The latter.
And yes, I'm starting to hate it too, especially after I've seen all the
weird bugs this causes in userspace, which then only trigger on m68k.
I'm thinking of changing it when switching to proper TLS support, but it's
not there yet.
BTW there is another reason I actually like the atomic type -
documentation. It makes it more clear that this intended to be used as
atomic value, so an unhealthy mixture of different accesses is less likely
and if they pile up at some place it's a good indicator to maybe switch
back to spinlocks.

bye, Roman
-
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/