From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ryan Harper Subject: Re: [PATCH] 0/2 VCPU creation and allocation Date: Mon, 10 Oct 2005 11:23:54 -0500 Message-ID: <20051010162354.GP17358@us.ibm.com> References: <20051010151651.GK17358@us.ibm.com> <20051010152821.GN17358@us.ibm.com> <3f428c67eaeb9dd543c246e55a156fd3@cl.cam.ac.uk> <20051010160538.GO17358@us.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Keir Fraser Cc: xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org * Keir Fraser [2005-10-10 11:13]: > > On 10 Oct 2005, at 17:05, Ryan Harper wrote: > > >>Do you even need a max_vcpus variable? Surely the appropriate check is > >>implicit in VCPUOP_initialise detecting whether or not the relevant > >>VCPU has been created? > > > >I was going to ensure ordered VCPU creation. Without something like > >vcpuid < max_vcpus+1, and increment on successful creation, one can > >create vcpus in any order, 1,5,7, 10. I don't think it *should* matter > >but I've not looked elsewhere through the code to see if there are any > >other areas assuming all struct vcpu* being valid between 0 and n in > >the d->vcpus[] array. > > Then the vcpu parameter to VCPUOP_create is redundant -- there's only > one value you will be prepared to accept! If we don't want the > flexibility of a sparse vcpu map (and I think we don't) then perhaps we > are better off without VCPUOP_create (which is maybe even a bit neater, > leaving vcpu_op as a completely unpriv local hypercall) and stick with > the set_max_vcpus dom0_op? And have that implicitly create the vcpu > struct for vcpus 0...n-1? OK, that makes sense. I'll turn VCPUOP_create into set_max_vcpus(max) which will create vcpus 1-(max-1). Any preference on the hypercall name? Does set_max_vcpus() still make sense if it is also creating vcpus? How about DOM0_CREATEVCPUS and do_createvcpus(struct domain* d, unsigned int max_vcpus). -- Ryan Harper Software Engineer; Linux Technology Center IBM Corp., Austin, Tx (512) 838-9253 T/L: 678-9253 ryanh@us.ibm.com