【发布时间】:2018-09-20 10:20:22
【问题描述】:
在计时器处理程序(内核空间)中锁定互斥锁是否安全? 我有两个内核模块可以读取/写入同一个 I2C 设备: - 第一个模块:加载时启动计时器。每 20 ms 在定时器处理程序下读取 I2C 寄存器 - 第二个模块:读/写同一个I2C寄存器
我见过很多内核崩溃(CPU 1 被冻结) --> 我怀疑当尝试在计时器处理程序下解锁互斥锁时,内核冻结你能确认一下吗?
【问题讨论】:
-
您不能在 atomic 或 irq 上下文中使用休眠原语。请改用 spin_lock。
标签: linux-kernel kernel linux-device-driver