From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jan Kiszka Subject: Re: [PATCH v2] KVM: x86: Convert INIT and SIPI signals into synchronously handled requests Date: Wed, 06 Mar 2013 08:57:54 +0100 Message-ID: <5136F702.4070101@web.de> References: <70318159.3047162.1362550372481.JavaMail.root@redhat.com> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="----enig2AWLUSKVJIKGVNFXLSFWN" Cc: Marcelo Tosatti , Gleb Natapov , kvm To: Paolo Bonzini Return-path: Received: from mout.web.de ([212.227.15.4]:57903 "EHLO mout.web.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755523Ab3CFH6F (ORCPT ); Wed, 6 Mar 2013 02:58:05 -0500 In-Reply-To: <70318159.3047162.1362550372481.JavaMail.root@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: This is an OpenPGP/MIME signed message (RFC 4880 and 3156) ------enig2AWLUSKVJIKGVNFXLSFWN Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On 2013-03-06 07:12, Paolo Bonzini wrote: >=20 >> On Tue, Mar 05, 2013 at 08:16:41PM -0300, Marcelo Tosatti wrote: >>> On Mon, Mar 04, 2013 at 10:41:43PM +0100, Jan Kiszka wrote: >>>> From: Jan Kiszka >>>> >>>> A VCPU sending INIT or SIPI to some other VCPU races for setting >>>> the >>>> remote VCPU's mp_state. When we were unlucky, >>>> KVM_MP_STATE_INIT_RECEIVED >>>> was overwritten by kvm_emulate_halt and, thus, got lost. >>>> >>>> Fix this by raising requests on the sender side that will then be >>>> handled synchronously over the target VCPU context. >>>> >>>> Signed-off-by: Jan Kiszka >>> >>> Why is kvm_emulate_halt being executed from >>> KVM_MP_STATE_INIT_RECEIVED/KVM_MP_STATE_SIPI_RECEIVED again? >>> >>> Why is it not true that the only valid transition from >>> KVM_MP_STATE_HALTED is from KVM_MP_STATE_RUNNABLE? >> >> See Paolo's table, it is. So why fix a race which should not be >> happening in the first place. >=20 > The bad transition happens exactly because of the race. > Are you saying you prefer the solution with cmpxchg? I think we are past that point in our discussion and should really separate signal (INIT/SIPI) from state (INIT/SIPI_RECEIVED etc.). Jan ------enig2AWLUSKVJIKGVNFXLSFWN Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.16 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iEYEARECAAYFAlE29wYACgkQitSsb3rl5xQoKACgqb3m8BAcnEHMlm27mPppmD7G 8esAoM+oExoWxSlho+VqqlzoB0Doel8W =Z43x -----END PGP SIGNATURE----- ------enig2AWLUSKVJIKGVNFXLSFWN--