Re: [PATCH V4 0/6] genirq/affinity: Abstract APIs from managed irq affinity spread

From: John Garry
Date: Wed Jan 11 2023 - 05:12:00 EST


On 27/12/2022 02:28, Ming Lei wrote:
irq_build_affinity_masks() actually grouping CPUs evenly into each managed
irq vector according to NUMA and CPU locality, and it is reasonable to abstract
one generic API for grouping CPUs evenly, the idea is suggested by Thomas
Gleixner.

group_cpus_evenly() is abstracted and put into lib/, so blk-mq can re-use
it to build default queue mapping.

blk-mq IO perf data is observed as more stable, meantime with big
improvement, see detailed data in the last patch.

Please consider it for v6.3!

Just wondering could this be a better alternative for some drivers than using cpumask_local_spread()?

Thanks,
John