标签: workqueue

工作队列的这些标志是什么意思?

在研究工作队列时,我遇到了内核中定义的工作队列标志和常量。我有以下疑问,我无法理解。

  1. 排水和救援人员在这里到底是什么意思?

    WQ_DRAINING             = 1 << 6, /* internal: workqueue is draining */
    WQ_RESCUER              = 1 << 7, /* internal: workqueue has rescuer */
    
    Run Code Online (Sandbox Code Playgroud)
  2. 为未绑定工作队列定义的 CPU 数量是 4。如果我有一个八核处理器会怎样。无界 wq 将如何绑定到 cpus。他们如何决定运行哪些 CPU,因为他们现在有 8 个 cpu 而不是 4 个 cpu。是这样,它们可以在 8 个或仅 4 个特定 cpu 中的任何一个上运行吗?

    WQ_MAX_UNBOUND_PER_CPU = 4, /* 4 * #cpus for unbound wq */

c scheduled-tasks linux-kernel interrupt-handling workqueue

3
推荐指数
1
解决办法
1542
查看次数