本文共 516 字,大约阅读时间需要 1 分钟。
1. Symmetric MultiMulti-Processing multi processor (core) architecurure
It is in include/linux/spinlock_api_smp.h
static inline void __spin_lock(spinlock_t *lock)
{
preempt_disable();
spin_acquire(&lock->dep_map, 0, 0, _RET_IP_);
LOCK_CONTENDED(lock, _raw_spin_trylock, _raw_spin_lock);
}
2. Single Processor uni processor (core) architecuture
It is in include/linux/spinlock_api_up.h
#define _raw_spin_lock(lock) __LOCK(lock)
#define __LOCK(lock) /
do { preempt_disable(); __acquire(lock); (void)(lock); } while (0)
转载地址:http://iemvi.baihongyu.com/