在研究工作队列时,我遇到了内核中定义的工作队列标志和常量。我有以下疑问,我无法理解。
排水和救援人员在这里到底是什么意思?
WQ_DRAINING = 1 << 6, /* internal: workqueue is draining */
WQ_RESCUER = 1 << 7, /* internal: workqueue has rescuer */
Run Code Online (Sandbox Code Playgroud)为未绑定工作队列定义的 CPU 数量是 4。如果我有一个八核处理器会怎样。无界 wq 将如何绑定到 cpus。他们如何决定运行哪些 CPU,因为他们现在有 8 个 cpu 而不是 4 个 cpu。是这样,它们可以在 8 个或仅 4 个特定 cpu 中的任何一个上运行吗?
WQ_MAX_UNBOUND_PER_CPU = 4, /* 4 * #cpus for unbound wq */