preempt_count
preempt_count本质上是一个per-CPU的32位变量,preempt_count代表的是该进程是否可以被抢占,peermpt_count等于0的时候当前进程就可以被抢占,当小于0存在bug,大于0说明当前进程不可以被抢占。具体每一位含义如下图所示。
更多Linux nice 命令
Linux nice命令以更改过的优先序来执行程序,如果未指定程序,则会印出目前的排程优先序,内定的 adjustment 为 10,范围为 -20(最高优先序)到 19(最低优先序)。 使用权限:所有使用者。设定为负数需要管理者权限
更多内核中的锁
内核中自旋锁、信号量/mutex、读写锁/顺序锁、RCU介绍。
更多内核同步机制:自旋锁
自旋锁系列函数 函数 功能说明 void spin_lock(spinlock_t *lock) 进程和进程之间同步 void spin_lock_bh(spinlock_t *lock) 和本地软中断之间同步 void spin_lock_irq(spinlock_t *lock) 和本地硬件中断之间同步 void spin_lock_irqsave(lock, flags) 和本地硬件中断之间同步并保存本地中断状态 int spin_trylock(spinlock_t *lock) 尝试获取锁,如果成功返回非0值,否则返回0值 自旋锁特点 spinlock是一种死等的锁机制 临界区执行时间短且不可睡眠,可以在中断上下文中使用。由于spinlock死等的这种特性,..
更多