[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH V2 1/8] xen/arm64: increase MAX_VIRT_CPUS to 128 on arm64



On Sat, May 23, 2015 at 03:46:32PM +0100, Julien Grall wrote:
> Hi Chen,
> 
> On 23/05/2015 14:52, Chen Baozi wrote:
> >From: Chen Baozi <baozich@xxxxxxxxx>
> >
> >GIC-500 supports up to 128 cores in a single SoC. Increase MAX_VIRT_CPUS
> >to 128 on arm64.
> 
> This series have to be bisectable. Although, this patch will break
> compilation on ARM64 because you increased MAX_VIRT_CPUS without the
> re-distributor region (done in the next patch).
> 
> Furthermore, GICv2 is only supporting 8 CPUs. We don't have to allow a guest
> with more than 8 vCPUs when the GICv2 is in use.

What's your suggestion? I don't think we could know whether it is built for
a GICv2 or a GICv3 machine and define different values for corresponding
target.

Cheers,

Baozi.

> 
> Lastly, given that the support of 128 vCPUs will only worked when the last
> patch of this series is applied, I would move this patch at the end.
> 
> >Signed-off-by: Chen Baozi <baozich@xxxxxxxxx>
> >---
> >  xen/arch/arm/vgic-v3.c       | 2 +-
> >  xen/include/asm-arm/config.h | 4 ++++
> >  2 files changed, 5 insertions(+), 1 deletion(-)
> >
> >diff --git a/xen/arch/arm/vgic-v3.c b/xen/arch/arm/vgic-v3.c
> >index 45d54a2..40e1892 100644
> >--- a/xen/arch/arm/vgic-v3.c
> >+++ b/xen/arch/arm/vgic-v3.c
> >@@ -906,7 +906,7 @@ static int vgic_v3_distr_mmio_write(struct vcpu *v, 
> >mmio_info_t *info)
> >          rank = vgic_rank_offset(v, 64, gicd_reg - GICD_IROUTER,
> >                                  DABT_DOUBLE_WORD);
> >          if ( rank == NULL ) goto write_ignore;
> >-        BUG_ON(v->domain->max_vcpus > 8);
> >+        BUG_ON(v->domain->max_vcpus > MAX_VIRT_CPUS);
> 
> This check is pointless. max_vcpus will always be inferior or equal to
> MAX_VIRT_CPUS.
> 
> >          new_irouter = *r;
> >          vgic_lock_rank(v, rank, flags);
> >
> >diff --git a/xen/include/asm-arm/config.h b/xen/include/asm-arm/config.h
> >index 3b23e05..817c216 100644
> >--- a/xen/include/asm-arm/config.h
> >+++ b/xen/include/asm-arm/config.h
> >@@ -47,7 +47,11 @@
> >  #define NR_CPUS 128
> >  #endif
> >
> >+#ifdef CONFIG_ARM_64
> >+#define MAX_VIRT_CPUS 128
> >+#else
> >  #define MAX_VIRT_CPUS 8
> >+#endif
> >
> >  #define asmlinkage /* Nothing needed */
> >
> >
> 
> Regards,
> 
> -- 
> Julien Grall

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.