From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: Re: [PATCH 02/12] early PV on HVM Date: Tue, 8 Jun 2010 15:05:05 -0400 Message-ID: <20100608190505.GA8560@phenom.dumpdata.com> References: <1275570645-27189-1-git-send-email-stefano.stabellini@eu.citrix.com> <1275570645-27189-2-git-send-email-stefano.stabellini@eu.citrix.com> <20100604202008.GB17645@phenom.dumpdata.com> <20100608134637.GA5998@phenom.dumpdata.com> <20100608161233.GA4900@phenom.dumpdata.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: Stefano Stabellini Cc: "jeremy@goop.org" , "xen-devel@lists.xensource.com" , "Yaozu (Eddie) Dong" , "linux-kernel@vger.kernel.org" , "ddutile@redhat.com" , "sheng@linux.intel.com" List-Id: xen-devel@lists.xenproject.org On Tue, Jun 08, 2010 at 05:25:52PM +0100, Stefano Stabellini wrote: > On Tue, 8 Jun 2010, Konrad Rzeszutek Wilk wrote: > > On Tue, Jun 08, 2010 at 04:55:33PM +0100, Stefano Stabellini wrote: > > > On Tue, 8 Jun 2010, Konrad Rzeszutek Wilk wrote: > > > > > > > + HYPERVISOR_shared_info = (struct shared_info *)shared_info_page; > > > > > > > + > > > > > > > + /* Don't do the full vcpu_info placement stuff until we have a > > > > > > > + possible map and a non-dummy shared_info. */ > > > > > > > > > > > > Might want to mention where the full vpcu placement is done. > > > > > > > > > > The comment is not accurate, we actually don't do any vcpu_info > > > > > placement on hvm because it is not very useful there. > > > > > Better just to remove the comment (I have done so in my tree). > > > > > > > > > > > > + per_cpu(xen_vcpu, 0) = &HYPERVISOR_shared_info->vcpu_info[0]; > > > > > > > > > > So.. what is the purpose of the per_cpu(xen_vcpu, 0) then? > > > > > > > > > > the vcpu info placement memory area is stored in per_cpu(xen_vcpu_info, cpu); > > > per_cpu(xen_vcpu, cpu) is just a pointer to that area if it is > > > available, otherwise it points to the vcpu_info struct in the shared > > > info page. > > > > I was just wondering why are we doing this when you say: > > " don't do any vcpu_info placement on hvm because it is not very useful there." > > > > So if it is not useful, why do it? > > > > I think Jeremy replied to your question better than me: we still need > the vcpu_info stuff for the timer and event channels, but we don't need > it to be at a specific address in kernel memory. Ok, can you add that comment for the usage of the per_cpu(xen_vcpu,0) and mention that this is bootstrap code - hence only starting at CPU 0.