[toc]
bust_spinlocks:在 oops/panic 等路径放宽“控制台/日志相关锁约束”,保证关键日志可达
作用与实现原理
yes != 0:进入 oops/panic 类路径,递增oops_in_progress,表示系统正处在异常打印阶段。yes == 0:退出异常打印阶段,调用console_unblank()尝试唤醒/点亮控制台;递减oops_in_progress,当其回到 0 时唤醒日志守护线程(传统实现中为 klogd 相关等待队列)。
该函数名中的 “bust spinlocks” 的含义是:异常阶段可能有锁/状态阻止日志输出,该函数通过提升 oops_in_progress 等全局状态让相关路径避免在锁上阻塞或放宽某些限制,从而提高“panic/oops 信息可达性”。
bust_spinlocks
1 | /** |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 wdfk-prog的个人博客!
评论







