From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ian Campbell Subject: Re: [PATCH V6 10/10] xen/arm64: increase MAX_VIRT_CPUS to 128 on arm64 Date: Fri, 5 Jun 2015 17:27:53 +0100 Message-ID: <1433521673.7108.352.camel@citrix.com> References: <1433163388-16970-1-git-send-email-cbz@baozis.org> <1433163388-16970-11-git-send-email-cbz@baozis.org> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail6.bemta14.messagelabs.com ([193.109.254.103]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1Z0uTP-000616-4J for xen-devel@lists.xenproject.org; Fri, 05 Jun 2015 16:27:59 +0000 In-Reply-To: <1433163388-16970-11-git-send-email-cbz@baozis.org> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Chen Baozi Cc: Julien Grall , xen-devel@lists.xenproject.org, Chen Baozi List-Id: xen-devel@lists.xenproject.org On Mon, 2015-06-01 at 20:56 +0800, Chen Baozi wrote: > From: Chen Baozi > > After we have increased the size of GICR in address space for guest > and made use of both AFF0 and AFF1 in (v)MPIDR, we are now able to > support up to 4096 vCPUs in theory. However, it will cost 512M > address space for GICR region, which is not necessary big at the > moment. "which is unnecessarily big at the moment" > Considering the max CPU number that GIC-500 can support and > the old value of MAX_VIRT_CPUS before commit aa25a61, we increase > its value to 128. > > Since the domain_max_vcpus has been changed to depends on vgic_ops, "depend" > we could have done more work in order to drop the definition of > MAX_VIRT_CPUS. However, because it is still used for some conditional > compilation in common code, I think that would be better done in a > seperate cleanup patch series. "separate" (although, I think you could just omit the last paragraph from the formal commit log and move it below the ---). > > Signed-off-by: Chen Baozi > --- > xen/arch/arm/vgic-v3.c | 1 - > xen/include/asm-arm/config.h | 4 ++++ > 2 files changed, 4 insertions(+), 1 deletion(-) > > diff --git a/xen/arch/arm/vgic-v3.c b/xen/arch/arm/vgic-v3.c > index 50dcfc9..2be9f81 100644 > --- a/xen/arch/arm/vgic-v3.c > +++ b/xen/arch/arm/vgic-v3.c > @@ -895,7 +895,6 @@ 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); > 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 */ >