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

Roman Zippel
2006-12-07T01:53:09Z

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