gpt4 book ai didi

linux - 为什么不能直接从硬件中断调用 schedule()?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:42:35 25 4
gpt4 key购买 nike

为什么不能从硬件中断中直接调用 schedule()?例如,为什么我不能从 scheduler_tick() 直接调用 schedule() 而必须使用 need_resched 标志?

我试图寻找答案,但我空手而归。任何帮助将不胜感激。

最佳答案

考虑一个带有自旋锁的 cpu,它现在服务于一个中断。如果你 schedule() 出来,你就违反了自旋锁所有者不离开 cpu 的不变量。请注意,在大多数情况下,自旋锁不会禁用中断。有时存在与中断处理程序相关的锁,在这些情况下使用 spin_lock_irq 和/或 spin_lock_irqsave。

关于linux - 为什么不能直接从硬件中断调用 schedule()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41105514/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com