Browse Source

optimize spin lock not to dirty cache line while spinning

master
Rich Felker 11 years ago
parent
commit
7b1fb0c526
  1. 2
      src/thread/pthread_spin_lock.c

2
src/thread/pthread_spin_lock.c

@ -2,6 +2,6 @@
int pthread_spin_lock(pthread_spinlock_t *s) int pthread_spin_lock(pthread_spinlock_t *s)
{ {
while (a_swap(s, 1)) a_spin(); while (*(volatile int *)s || a_cas(s, 0, 1)) a_spin();
return 0; return 0;
} }

Loading…
Cancel
Save