gpt4 book ai didi

linux - 中断上下文下半部分(Softirq 或 tasklet)

转载 作者:太空宇宙 更新时间:2023-11-04 09:39:29 26 4
gpt4 key购买 nike

据说 Softirqs/tasklets 在中断上下文中执行我有以下关于中断上下文底部的问题。

Q1)如果我们尝试让 tasklet 进入休眠状态(中断上下文下半部分)会发生什么(考虑 tasklet 是由中断处理程序调度的)。

[我的理解]据我所知,当调用 tasklet_schedule 时从中断处理程序中出来时,它将获得 tasklet_vec 结构指针,如果当前没有其他中断/高优先级 softirq 在进行中,它将调度 ksoftirqd,它将运行处理程序(tasklet 处理程序),如果那个 tasklet 很高处理程序使用 sleep ,在这种情况下,ksoftirqd 将移动到 wait_queue,除非并且直到另一个 tasklet_schdule 被调用,我中断的 tasklet 处理程序将继续在那个点上继续。

我们说“中断上下文代码不能休眠”(如果我在中断处理程序中使用休眠会产生什么后果,考虑到我没有使用 spint 锁或者我没有禁用定时器中断)

(理解有误请指正)

最佳答案

Sleep 仅在进程上下文中有效,在中断上下文中无效。在中断上下文中,“当前”不是有效任务,因此我们可以将其置于 sleep 状态,稍后再将其唤醒。如果你想 sleep ,请使用线程

关于linux - 中断上下文下半部分(Softirq 或 tasklet),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22954960/

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