From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jan Kiszka Subject: Re: [PATCH] KVM: x86: Convert INIT and SIPI signals into synchronously handled events Date: Tue, 12 Mar 2013 14:27:11 +0100 Message-ID: <513F2D2F.9040103@siemens.com> References: <513F1529.3040309@siemens.com> <513F1A63.9070107@redhat.com> <513F2688.2080902@siemens.com> <513F273F.5020108@siemens.com> <513F2A11.7030904@redhat.com> <513F2AAD.4050008@siemens.com> <20130312132517.GC11223@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: Paolo Bonzini , Marcelo Tosatti , kvm To: Gleb Natapov Return-path: Received: from thoth.sbs.de ([192.35.17.2]:33210 "EHLO thoth.sbs.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751868Ab3CLN1P (ORCPT ); Tue, 12 Mar 2013 09:27:15 -0400 In-Reply-To: <20130312132517.GC11223@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: On 2013-03-12 14:25, Gleb Natapov wrote: > On Tue, Mar 12, 2013 at 02:16:29PM +0100, Jan Kiszka wrote: >> On 2013-03-12 14:13, Paolo Bonzini wrote: >>> Il 12/03/2013 14:01, Jan Kiszka ha scritto: >>>>>>>> For example, should kvm_arch_interrupt_allowed return zero if the VCPU >>>>>>>> is in the INIT_RECEIVED state? >>>>>> >>>>>> Yeah, that probably makes sense beyond async_pf. >>>> Wait: If you perform a proper reset on INIT already, we would clear IF >>>> thus prevent also async_pf injections. On the other hand, >>>> kvm_arch_can_inject_async_page_present returns true if apf.msr_val & >>>> KVM_ASYNC_PF_ENABLED is not set - shouldn't that be cleared on reset as >>>> well? Hmm... >>> >>> So if you split the reset (which is done on INIT) from setting up CS on >>> SIPI, you kill two birds with a stone, or at least one and a half: you >>> clear IF as you wrote above, and INIT on BSP almost works (the only >>> missing bit should be setting the mp_state to KVM_MP_STATE_RUNNABLE). >> >> ...unless the async_pf MSR is cleared on reset as well. >> > It is: > vcpu->arch.apf.msr_val = 0; Can you explain the "if !(apf.msr_val & KVM_ASYNC_PF_ENABLED) return true;" in kvm_arch_can_inject_async_page_present? Jan -- Siemens AG, Corporate Technology, CT RTC ITP SDP-DE Corporate Competence Center Embedded Linux