On Mon, Aug 31, 2026 at 01:25:23AM +0000, Michael Kelley wrote: > From: Waiman Long <[email protected]> Sent: Sunday, August 30, 2026 4:41 PM > > > > There is a retry loop in init_vp_index() where the CPUs from a certain > > node are stripped out if they have already been in the allocated cpumask > > or not in HK_TYPE_MANAGED_IRQ housekeeping cpumask. If there is no > > CPU left, the allocated cpumask is ignored and the process is retried > > again. However, if the HK_TYPE_MANAGED_IRQ housekeeping cpumask turns > > out not to contain any CPU in that particular node, that will become an > > infinite retry loop. This particular problem was reported by sashiko > > [1]. This should rarely happen, but we still need to guard against this. > > > > Fix this infinite loop problem by also skipping NUMA node that has no > > housekeeping CPU in the inner while loop of init_vp_index(). Also update > > the early abort check to check for the absence of online housekeeping > > CPUs instead of just the emptiness of the cpumask. As the outer for > > loop will only be reached if the housekeeping cpumask has at least one > > online CPU, a NUMA node with housekeeping CPUs will eventually be found. > > > > Link: > > https://sashiko.dev/#/message/20260422030903.E1BFCC2BCB0%40smtp.kernel.org > > [1] > > Fixes: 6640b5df1a38 ("Drivers: hv: vmbus: Don't assign VMbus channel > > interrupts to isolated CPUs") > > Signed-off-by: Waiman Long <[email protected]> > > --- [...] > > Looks good. > > Reviewed-by: Michael Kelley <[email protected]>
Applied. Thank you both. Wei >

