禁止抢占(Preemption Disable)
更多资料下载,冲击月薪过万,一线经验工程师录制,
干货满满的嵌入式视频教程,请点击淘宝店:wanglitao.taobao.com
核心原理
Linux 内核是抢占式的,禁止抢占可以避免当前进程被高优先级进程抢占,从而防止单 CPU 下的进程内并发。关键特性
仅适用于单 CPU 场景:SMP 架构下无法防止其他 CPU 访问临界区,需配合自旋锁使用。
适用场景:短时间内保护临界区,避免锁开销。核心接口
// 禁止抢占
preempt_disable();
// 启用抢占
preempt_enable();
// 嵌套禁止抢占,需对应次数启用
preempt_disable_notrace();
preempt_enable_no_resched();
驱动开发核心理论,Linux内核开发入门实战视频教程:《Linux内核编程》,具有一线芯片原厂开发经验的驱动工程师录制,详情点击:王利涛老师个人淘宝店:Linux内核编程