Der Linux-Kernel verwendet lock; addl $0,0(%%esp)
als Schreibsperre verwendet, während die RE2-Bibliothek xchgl (%0),%0
als Schreibsperre. Was ist der Unterschied und was ist besser?
Benötigt x86 auch Lesesperrenbefehle? RE2 definiert seine Lesesperrenfunktion als no-op auf x86, während Linux sie entweder als lfence
oder no-op, je nachdem, ob SSE2 verfügbar ist. Wann ist lfence
erforderlich?