Messages in this thread | | | Date | Thu, 06 Oct 2005 15:50:36 +0200 | From | Eric Dumazet <> | Subject | Re: SMP syncronization on AMD processors (broken?) |
| |
Andi Kleen a écrit : > Kirill Korotaev <dev@sw.ru> writes: > > >>Please help with a not simple question about spin_lock/spin_unlock on >>SMP archs. The question is whether concurrent spin_lock()'s should >>acquire it in more or less "fair" fashinon or one of CPUs can starve >>any arbitrary time while others do reacquire it in a loop. > > > They are not fully fair because of the NUMAness of the system. > Same on many other NUMA systems. > > We considered long ago to use queued locks to avoid this, but > they are quite costly for the uncongested case and never seemed worth it. > > So live with it.
Unrelated, but that reminds me that current spinlock implementation on x86 imply that NR_CPUS should be < 128.
Maybe we should reflect this in Kconfig ?
config NR_CPUS range 2 128
Or use a plain int for spinlock, instead of a signed char.
Eric - 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/
| |