|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v3 2/5] x86: modify setup_dom0_vcpu to use dom0_cpus internally
We will later move dom0 builders to different directories. To avoid the
need of making dom0_cpus visible outside dom0_builder.c, modify
setup_dom0_vcpus to cycle through dom0_cpus internally instead of
relying on the callers to do that.
No functional change.
Signed-off-by: Wei Liu <wei.liu2@xxxxxxxxxx>
---
v3: new
---
xen/arch/x86/dom0_build.c | 18 ++++++++++++------
1 file changed, 12 insertions(+), 6 deletions(-)
diff --git a/xen/arch/x86/dom0_build.c b/xen/arch/x86/dom0_build.c
index 1c723c9ef1..7ca847e19b 100644
--- a/xen/arch/x86/dom0_build.c
+++ b/xen/arch/x86/dom0_build.c
@@ -158,8 +158,9 @@ static cpumask_t __initdata dom0_cpus;
static struct vcpu *__init setup_dom0_vcpu(struct domain *d,
unsigned int vcpu_id,
- unsigned int cpu)
+ unsigned int prev_cpu)
{
+ unsigned int cpu = cpumask_cycle(prev_cpu, &dom0_cpus);
struct vcpu *v = alloc_vcpu(d, vcpu_id, cpu);
if ( v )
@@ -215,7 +216,8 @@ struct vcpu *__init alloc_dom0_vcpu0(struct domain *dom0)
return NULL;
dom0->max_vcpus = max_vcpus;
- return setup_dom0_vcpu(dom0, 0, cpumask_first(&dom0_cpus));
+ return setup_dom0_vcpu(dom0, 0,
+ cpumask_last(&dom0_cpus) /* so it wraps around to
first pcpu */);
}
#ifdef CONFIG_SHADOW_PAGING
@@ -1155,8 +1157,10 @@ static int __init construct_dom0_pv(
cpu = v->processor;
for ( i = 1; i < d->max_vcpus; i++ )
{
- cpu = cpumask_cycle(cpu, &dom0_cpus);
- setup_dom0_vcpu(d, i, cpu);
+ struct vcpu *p = setup_dom0_vcpu(d, i, cpu);
+
+ if ( p )
+ cpu = p->processor;
}
d->arch.paging.mode = 0;
@@ -1902,8 +1906,10 @@ static int __init pvh_setup_cpus(struct domain *d,
paddr_t entry,
cpu = v->processor;
for ( i = 1; i < d->max_vcpus; i++ )
{
- cpu = cpumask_cycle(cpu, &dom0_cpus);
- setup_dom0_vcpu(d, i, cpu);
+ struct vcpu *p = setup_dom0_vcpu(d, i, cpu);
+
+ if ( p )
+ cpu = p->processor;
}
rc = arch_set_info_hvm_guest(v, &cpu_ctx);
--
2.11.0
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |