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

David Howells
2006-12-06T19:43:53Z

Matthew Wilcox <matthew@wil.cx> wrote:

> > Ok. For SMP-safety, it's important that any architecture that can't do
> > this needs to _share_ the same spinlock (on SMP only, of course) that it
> > uses for the bitops.
>
> That doesn't help, since assignment can't be guarded by any lock.

It's not a problem for workqueues, since the only direct assignment to the
management member variable is during initialisation.

But in general cmpxchg() might be a problem with respect to assignment.

atomic_cmpxchg() should be safe wrt atomic_set().

David