系统调用会中断softirq吗?
根据我的理解,当软件中断被触发时系统调用会被处理,所以我认为它不能中断硬件ISR,因为本地CPU irq在ISR内被禁用,但它看起来可能会中断任何其他任务,如softirq,tasklet ,工作队列和内核线程?
一般来说,我们不需要担心在较高优先级任务中争用较低优先级的内核任务。 就像我们不需要针对tasklet或softirq中的内核线程保护数据一样,因为禁用了抢占。
当系统调用在内核模式的进程上下文中运行时,如果它可以中断softirq,我们必须在softirq中针对进程考虑适当的保护。 更糟糕的是,重载系统调用可能会延迟softirqs和tasklet的执行至少一次打勾,或者直到出现另一个硬件中断,并且内核再次调度它们。
如果我的理解错误,请纠正我。
你正在反思这一点。
系统调用必须由当前正在运行的用户空间应用程序进行。
如果CPU忙于为IRQ服务,则它不运行用户空间应用程序,因此系统调用不会在该CPU上发生。
链接地址: http://www.djcxy.com/p/84891.html上一篇: Will a system call interrupt a softirq?
下一篇: Kernel crash in hardware interrupt; core dump shows process context