From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gleb Natapov Subject: Re: [PATCH v11 2/3] x86, apicv: add virtual x2apic support Date: Tue, 22 Jan 2013 11:42:44 +0200 Message-ID: <20130122094244.GB8427@redhat.com> References: <1358331672-32384-1-git-send-email-yang.z.zhang@intel.com> <1358331672-32384-3-git-send-email-yang.z.zhang@intel.com> <20130121195907.GA3561@amt.cnet> <20130121202114.GE25818@redhat.com> <20130121212113.GC7110@amt.cnet> <20130121213420.GA8427@redhat.com> <20130121221618.GE10985@amt.cnet> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Yang Zhang , kvm@vger.kernel.org, haitao.shan@intel.com, xiantao.zhang@intel.com, Kevin Tian To: Marcelo Tosatti Return-path: Received: from mx1.redhat.com ([209.132.183.28]:12762 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751819Ab3AVJmq (ORCPT ); Tue, 22 Jan 2013 04:42:46 -0500 Content-Disposition: inline In-Reply-To: <20130121221618.GE10985@amt.cnet> Sender: kvm-owner@vger.kernel.org List-ID: On Mon, Jan 21, 2013 at 08:16:18PM -0200, Marcelo Tosatti wrote: > On Mon, Jan 21, 2013 at 11:34:20PM +0200, Gleb Natapov wrote: > > On Mon, Jan 21, 2013 at 07:21:13PM -0200, Marcelo Tosatti wrote: > > > On Mon, Jan 21, 2013 at 10:21:14PM +0200, Gleb Natapov wrote: > > > > > > } > > > > > > + > > > > > > + vcpu->arch.apic_base = value; > > > > > > > > > > Simpler to have > > > > > > > > > > if (apic_x2apic_mode(apic)) { > > > > > ... > > > > > kvm_x86_ops->set_virtual_x2apic_mode(vcpu, true); > > > > > } else { > > > > > kvm_x86_ops->set_virtual_x2apic_mode(vcpu, false); > > > > > } > > > > > > > > > This will not work during cpu init. That was discussed on one of > > > > the previous iterations of the patch. When this code is called during > > > > vcpu init vmcs is not loaded yet so set_virtual_x2apic_mode() cannot > > > > write into it. > > > > > > Are you saying that the logic to write on bit value change is due to > > > ordering with cpu init or that the callback is at the wrong place? > > > > > The logic is because of ordering with cpu init. > > OK. Still must move this conditional callback after assignment of apic_base. > Sure. -- Gleb.