Messages in this thread | | | Date | Wed, 6 Dec 2006 12:29:39 -0700 | From | Matthew Wilcox <> | Subject | Re: [PATCH] WorkStruct: Implement generic UP cmpxchg() where an arch doesn't support it |
| |
On Wed, Dec 06, 2006 at 11:25:35AM -0800, Linus Torvalds 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 would be good (but perhaps not as strict a requirement) if the atomic > counters also use the same lock. But that is probably impossible on > sparc32 (since it has a per-counter "lock"-like thing, iirc). So doing a > cmpxchg() on an atomic_t would be a bug.
sparc32 switched over to the parisc way of doing things, so they could expand their atomic_t to a full 32 bits. They still have the old atomic_24_t lying around for their arch-private use, but atomic_t uses a hashed spinlock. - 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/
| |