When a pCPU is added to a cpupool, the pool's scheduler should immediately run on it so, for instance, any runnable but not running vCPU can start executing there.
This currently does not happen. Make it happen by raising the scheduler softirq directly from the function that sets up the new scheduler for the pCPU. Signed-off-by: Dario Faggioli <dario.faggi...@citrix.com> --- Cc: George Dunlap <george.dun...@citrix.com> Cc: Stefano Stabellini <sstabell...@kernel.org> --- xen/common/schedule.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/xen/common/schedule.c b/xen/common/schedule.c index d67227f..4aae423 100644 --- a/xen/common/schedule.c +++ b/xen/common/schedule.c @@ -1823,6 +1823,9 @@ int schedule_cpu_switch(unsigned int cpu, struct cpupool *c) out: per_cpu(cpupool, cpu) = c; + /* When a cpu is added to a pool, trigger it to go pick up some work */ + if ( c != NULL ) + cpu_raise_softirq(cpu, SCHEDULE_SOFTIRQ); return 0; } _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org https://lists.xen.org/xen-devel