Linux工作队列

34 篇文章 0 订阅 ¥299.90 ¥99.00

softirq(中断下半部机制,比如tasklet)有一个共同的缺点,就是在中断上下文里执行,因此,它们都不能睡眠,而工作队列可以允许在进程上下文,它是驱动程序可以使用的另一种延迟执行的机制。

一、工作队列的层次

工作队列在总体上分工作者线性、工作队列和工作项3个层次:

1)工作者线程

是一系列被组织在线程池中的内核线程,其数量可以根据需要动态增减。每个逻辑CPU有二个工作者线程池,其中一个为普通优先级工作者线程池,另一个为高优先级工作者线程池,除此之外另有一个不跟特定CPU关联的全局工作者线程池。

每个工作者线程池用一个struct worker_pool描述。

/*工作者线程的初始量为2*N+1个,其中N为逻辑CPU个数,意味着每个线程池中的初始数量为1,它们具有
如下形式的名字:
    kworker/n:x    -- 普通的每个CPU工作者线程,n表示CPU编号,x表示线程编号。
    
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张帅峰_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值