禁止抢占(Preemption Disable)

更多资料下载,冲击月薪过万,一线经验工程师录制, 干货满满的嵌入式视频教程,请点击淘宝店:wanglitao.taobao.com
  1. 核心原理
    Linux 内核是抢占式的,禁止抢占可以避免当前进程被高优先级进程抢占,从而防止单 CPU 下的进程内并发。

  2. 关键特性
    仅适用于单 CPU 场景:SMP 架构下无法防止其他 CPU 访问临界区,需配合自旋锁使用。
    适用场景:短时间内保护临界区,避免锁开销。

  3. 核心接口

// 禁止抢占
preempt_disable();
// 启用抢占
preempt_enable();
// 嵌套禁止抢占,需对应次数启用
preempt_disable_notrace();
preempt_enable_no_resched();
驱动开发核心理论,Linux内核开发入门实战视频教程:《Linux内核编程》,具有一线芯片原厂开发经验的驱动工程师录制,详情点击:王利涛老师个人淘宝店:Linux内核编程