首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么是"CPU死亡“(与硬件无关)?

什么是"CPU死亡“(与硬件无关)?
EN

Stack Overflow用户
提问于 2019-07-19 12:04:51
回答 1查看 117关注 0票数 3

最近,我使用Linux内核的工作队列,我发现了一些东西("CPU死了“),我不知道它是什么,甚至在googling上搜索它。

这是否意味着目前没有特定的CPU核心或类似的东西?

下面是我要问的问题(全版)的背景:

代码语言:javascript
复制
/**
 * queue_work - queue work on a workqueue
 * @wq: workqueue to use
 * @work: work to queue
 *
 * Returns %false if @work was already on a queue, %true otherwise.
 *
 * We queue the work to the CPU on which it was submitted, but if the CPU dies
 * it can be processed by another CPU.
 */
static inline bool queue_work(struct workqueue_struct *wq,
                  struct work_struct *work)
{
    return queue_work_on(WORK_CPU_UNBOUND, wq, work);
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-19 12:20:52

每个cpu工作队列通常是首选的,因为它们往往表现出更好的性能。

工作队列是在一个CPU上提交的,但是如果这个CPU进入空闲的,那么工作队列将被移动到另一个CPU。

如果工人的工作队列(每个工人有一个工作队列)是空的,那么它就处于空闲状态。

绑定到实际CPU的每个工作池通过连接到调度程序来实现并发管理。每当活动员工醒来或睡觉并跟踪当前可运行的工作人员的数量时,都会通知员工池。通常,工作项不会占用CPU并消耗许多周期。这意味着保持足够的并发性以防止工作处理延迟应该是最佳的。只要CPU上有一个或多个可运行的工作人员,员工池就不会开始执行新工作,但是,当最后一个正在运行的工作人员进入睡眠状态时,它会立即安排一个新的工作人员,这样CPU就不会在有挂起的工作项时处于空闲状态。这样就可以在不损失执行带宽的情况下使用最少数量的工作人员。

请参阅这里

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57112155

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档