If dom0_vcpus_pin is used, make sure the pinning is only done for dom0 vcpus, instead of for the hardware domain (which might not be dom0 at all!).
Suggested-by: Jan Beulich <[email protected]> Signed-off-by: Dario Faggioli <[email protected]> Reviewed-by: Jan Beulich <[email protected]> --- Cc: George Dunlap <[email protected]> --- Changes from v1: - check domain_id to be 0, for properly identifying dom0 Difference from "RFC" [1]: - new patch [1] https://lore.kernel.org/xen-devel/[email protected]/ --- xen/common/sched/core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xen/common/sched/core.c b/xen/common/sched/core.c index f689b55783..a066c629cb 100644 --- a/xen/common/sched/core.c +++ b/xen/common/sched/core.c @@ -575,7 +575,7 @@ int sched_init_vcpu(struct vcpu *v) * Initialize affinity settings. The idler, and potentially * domain-0 VCPUs, are pinned onto their respective physical CPUs. */ - if ( is_idle_domain(d) || (is_hardware_domain(d) && opt_dom0_vcpus_pin) ) + if ( is_idle_domain(d) || (d->domain_id == 0 && opt_dom0_vcpus_pin) ) sched_set_affinity(unit, cpumask_of(processor), &cpumask_all); else sched_set_affinity(unit, &cpumask_all, &cpumask_all);
