Re: SMP syncronization on AMD processors (broken?)

From: Eric Dumazet
Date: Thu Oct 06 2005 - 08:51:29 EST


Andi Kleen a écrit :
Kirill Korotaev <dev@xxxxx> 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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/