Messages in this thread | | | Date | Fri, 20 Sep 2002 10:11:55 -0700 | From | Andrew Morton <> | Subject | Re: [patch] generic-pidhash-2.5.36-D4, BK-curr |
| |
Ingo Molnar wrote: > > On Fri, 20 Sep 2002, Oleg Drokin wrote: > > > > + if (cmpxchg(&map->page, NULL, page)) > > > + free_page(page); > > > > Note that this piece breaks compilation for every arch that does not > > have cmpxchg implementation. > > This is the case with x86 (with CONFIG_X86_CMPXCHG undefined, e.g. i386), > > ARM, CRIS, m68k, MIPS, MIPS64, PARISC, s390, SH, sparc32, UML (for x86). > > we need a cmpxchg() function in the generic library, using a spinlock. > Then every architecture can enhance the implementation if it wishes to. >
That would be good, but wouldn't we then need a special per-arch "cmpxchngable" type, like atomic_t?
Seems that just doing compare-and-exchange on a bare page* might force some architectures to use a global lock. - 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/
| |