Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux kernel unicore处理器中的嵌套中断?_Linux Kernel_Operating System_Scheduled Tasks_Interrupt Handling - Fatal编程技术网

Linux kernel unicore处理器中的嵌套中断?

Linux kernel unicore处理器中的嵌套中断?,linux-kernel,operating-system,scheduled-tasks,interrupt-handling,Linux Kernel,Operating System,Scheduled Tasks,Interrupt Handling,假设unicore处理器上发生了优先级最低的中断 这导致通过禁用当前IRQ执行ISR。 发生高优先级中断时的平均值 当前的情报、监视和侦察是否会先发制人,并将控制权交给高优先级情报、监视和侦察 如果是,则在服务高优先级ISR后,是否将控制权交还给低优先级ISR 如果在禁用调度程序后提供中断,则由谁负责将低优先级ISR切换到高优先级ISR。。反之亦然 另外,当前ISR是否被抢占取决于内核的抢占设置。切换到ISR和ISR之间不需要计划程序。即使ISR被抢占,新的ISR也将使用相同的堆栈,因此控制应该

假设unicore处理器上发生了优先级最低的中断

这导致通过禁用当前IRQ执行ISR。 发生高优先级中断时的平均值

当前的情报、监视和侦察是否会先发制人,并将控制权交给高优先级情报、监视和侦察

如果是,则在服务高优先级ISR后,是否将控制权交还给低优先级ISR


如果在禁用调度程序后提供中断,则由谁负责将低优先级ISR切换到高优先级ISR。。反之亦然

另外,当前ISR是否被抢占取决于内核的抢占设置。切换到ISR和ISR之间不需要计划程序。即使ISR被抢占,新的ISR也将使用相同的堆栈,因此控制应该自动返回到第一个堆栈。中有关中断堆栈的部分可能会有所帮助。在最近的内核中,ISR总是在运行ISR的本地CPU上禁用中断的情况下运行。过去有一个标志
IRQF\u DISABLED
,可以传递给
request\u irq
,以控制在ISR期间是否应启用中断,但自内核2.6.35以来,该标志一直是不可操作的,并最终在内核4.1中删除。