Hi Tim,
According to queue_work_node, if there are no CPUs available on the
given node, it will schedule to any available CPU.
On 2023/12/18 14:46, Gang Li wrote:
On 2023/12/13 07:40, Tim Chen wrote:
list_for_each_entry(pw, &works, pw_list)
- queue_work(system_unbound_wq, &pw->pw_work);
+ if (job->numa_aware)
+ queue_work_node((++nid % num_node_state(N_MEMORY)),
The nid may fall on a NUMA node with only memory but no CPU. In that
case you
may still put the work on the unbound queue. You could end up on one
CPU node for work
from all memory nodes without CPU. Is this what you want? Or you would
like to spread them between CPU nodes?
Tim
Hi, thank you for your reminder. My intention was to fully utilize all
memory bandwidth.
For memory nodes without CPUs, I also hope to be able to spread them on
different CPUs.