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)
{
while (a_swap(s, 1)) a_spin();
while (*(volatile int *)s || a_cas(s, 0, 1)) a_spin();
return 0;
}

Loading…
Cancel
Save