在Linux内核中,为了确保关键代码的执行不被中断,我们需要关闭中断。本文将介绍Linux内核中几种常见的关闭中断的方式,并提供相应的源代码示例。
方式一:使用本地中断屏蔽寄存器(Local Interrupt Disable,简称LDI)
LDI是一种最常见且简单的关闭中断的方式。它通过设置处理器的本地中断屏蔽寄存器来实现。具体的代码如下所示:
unsigned long flags; // 用于保存中断标志
local_irq_save(flags); // 关闭中断,并保存中断标志
// 在这里执行关键代码
local_irq_restore