Selecting CPUs for queuing work on

From: Felix Kuehling
Date: Fri Aug 12 2022 - 16:28:18 EST


Hi workqueue maintainers,

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?

Thank you,
  Felix


--
F e l i x K u e h l i n g
PMTS Software Development Engineer | Linux Compute Kernel
1 Commerce Valley Dr. East, Markham, ON L3T 7X6 Canada
(O) +1(289)695-1597
_ _ _ _____ _____
/ \ | \ / | | _ \ \ _ |
/ A \ | \M/ | | |D) ) /|_| |
/_/ \_\ |_| |_| |_____/ |__/ \| facebook.com/AMD | amd.com