diff --git a/src/include/kernel/spinlock.h b/src/include/kernel/spinlock.h index a6e88ff5..e8088030 100644 --- a/src/include/kernel/spinlock.h +++ b/src/include/kernel/spinlock.h @@ -1,8 +1,10 @@ #ifndef _SPINLOCK_H_INCLUDE #define _SPINLOCK_H_INCLUDE +// TODO rewrite this in a more arch independent way + static inline void spinlock_acquire(int *lock){ - while(!__sync_bool_compare_and_swap(lock, 0, 1)); + while(!__sync_bool_compare_and_swap(lock, 0, 1)) asm("pause"); } static inline void spinlock_release(int *lock){