On Fri, Aug 12, 2022 at 04:26:47PM -0400, Felix Kuehling wrote:In principle, I think IRQ routing to CPUs can change dynamically with irqbalance.
Hi workqueue maintainers,I'm not necessarily against it. I guess it can be a flag on an unbound wq.
In the KFD (amdgpu) driver we found a need to schedule bottom half interrupt
handlers on CPU cores different from the one where the top-half interrupt
handler runs to avoid the interrupt handler stalling the bottom half in
extreme scenarios. See my latest patch that tries to use a different
hyperthread on the same CPU core, or falls back to a different core in the
same NUMA node if that fails:
https://lore.kernel.org/all/20220811190433.1213179-1-Felix.Kuehling@xxxxxxx/
Dave pointed out that the driver may not be the best place to implement such
logic and suggested that we should have an abstraction, maybe in the
workqueue code. Do you feel this is something that could or should be
provided by the core workqueue code? Or maybe some other place?
Do the interrupts move across different CPUs tho? ie. why does this need to
be a dynamic decision?
Thanks.