Matthew Wilcox <[email protected]> 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 - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
- References:
- Re: [PATCH] WorkStruct: Implement generic UP cmpxchg() where an arch doesn't support it
- From: Matthew Wilcox <[email protected]>
- [PATCH] WorkStruct: Implement generic UP cmpxchg() where an arch doesn't support it
- From: David Howells <[email protected]>
- Re: [PATCH] WorkStruct: Implement generic UP cmpxchg() where an arch doesn't support it
- From: Christoph Lameter <[email protected]>
- Re: [PATCH] WorkStruct: Implement generic UP cmpxchg() where an arch doesn't support it
- From: Linus Torvalds <[email protected]>
- Re: [PATCH] WorkStruct: Implement generic UP cmpxchg() where an arch doesn't support it
- From: Al Viro <[email protected]>
- Re: [PATCH] WorkStruct: Implement generic UP cmpxchg() where an arch doesn't support it
- From: Linus Torvalds <[email protected]>
- Re: [PATCH] WorkStruct: Implement generic UP cmpxchg() where an arch doesn't support it
- Prev by Date: Re: [PATCH] WorkStruct: Implement generic UP cmpxchg() where an arch doesn't support it
- Next by Date: Re: [PATCH] WorkStruct: Implement generic UP cmpxchg() where an arch doesn't support it
- Previous by thread: Re: [PATCH] WorkStruct: Implement generic UP cmpxchg() where an arch doesn't support it
- Next by thread: Re: [PATCH] WorkStruct: Implement generic UP cmpxchg() where an arch doesn't support it
- Index(es):