如何从内核空间禁用Linux中的中断和调度程序?
当我的代码在内核空间中执行时,是否可以冻结所有处理器执行代码 我需要转储大量数据,并且需要保证数据在代码执行期间保持一致如何从内核空间禁用Linux中的中断和调度程序?,linux,linux-kernel,Linux,Linux Kernel,当我的代码在内核空间中执行时,是否可以冻结所有处理器执行代码 我需要转储大量数据,并且需要保证数据在代码执行期间保持一致 local\u irq\u save和friends仅对本地cpu禁用…我猜您正在寻找类似于大内核锁(BKL)的东西。但这在内核版本2.6.39后不可用。 因此,您需要使用更细粒度的锁定版本,如spin\u lock\u irqsave()和spin\u unlock\u irqrestore(),这两种版本都会禁用本地cpu上的中断和抢占,直到锁定被保持 但是,不建议长时间
local\u irq\u save和friends仅对本地cpu禁用…我猜您正在寻找类似于
大内核锁(BKL)
的东西。但这在内核版本2.6.39后不可用。
因此,您需要使用更细粒度的锁定版本,如spin\u lock\u irqsave()
和spin\u unlock\u irqrestore()
,这两种版本都会禁用本地cpu上的中断和抢占,直到锁定被保持
但是,不建议长时间保持旋转锁。我猜您正在寻找类似于
大内核锁(BKL)
的东西。但这在内核版本2.6.39后不可用。
因此,您需要使用更细粒度的锁定版本,如spin\u lock\u irqsave()
和spin\u unlock\u irqrestore()
,这两种版本都会禁用本地cpu上的中断和抢占,直到锁定被保持
但是,不建议长时间保持旋转锁。我想我找到了-停止机器()函数userland:我想我找到了-停止机器()函数userland:我想我找到了-停止机器()函数userland: