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: Wed, 13 Mar 2013 08:39:11 +0100 Message-ID: <51402D1F.8000109@web.de> References: <513F1529.3040309@siemens.com> <513F1A63.9070107@redhat.com> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="----enig2DCJJIRKPOMMAAHJLJTNH" Cc: Gleb Natapov , Marcelo Tosatti , kvm To: Paolo Bonzini Return-path: Received: from mout.web.de ([212.227.15.4]:58096 "EHLO mout.web.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751901Ab3CMHjT (ORCPT ); Wed, 13 Mar 2013 03:39:19 -0400 In-Reply-To: <513F1A63.9070107@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: This is an OpenPGP/MIME signed message (RFC 4880 and 3156) ------enig2DCJJIRKPOMMAAHJLJTNH Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable On 2013-03-12 13:06, Paolo Bonzini wrote: >> diff --git a/arch/x86/kvm/lapic.c b/arch/x86/kvm/lapic.c >> index 02b51dd..4a21a6b 100644 >> --- a/arch/x86/kvm/lapic.c >> +++ b/arch/x86/kvm/lapic.c >> @@ -731,7 +731,7 @@ static int __apic_accept_irq(struct kvm_lapic *api= c, int delivery_mode, >> case APIC_DM_INIT: >> if (!trig_mode || level) { >> result =3D 1; >> - vcpu->arch.mp_state =3D KVM_MP_STATE_INIT_RECEIVED; >> + set_bit(KVM_APIC_INIT, &apic->pending_events); >=20 > I think this should clear pending SIPIs, unless KVM_APIC_INIT was > already set in which case it should be a no-op. Something like: >=20 > e =3D apic->pending_events; > while (!(e & KVM_APIC_INIT)) > e =3D cmpxchg(&apic->pending_events, e, > (e | KVM_APIC_INIT) & ~KVM_APIC_SIPI); >=20 > If you do this, better make pending_events an atomic_t. Quick question: Why atomic_t? It becomes a bit ugly to poke into the atomic counter for bitops, and cmpxchg is mapped on an interlocked versio= n. Jan ------enig2DCJJIRKPOMMAAHJLJTNH 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/ iEYEARECAAYFAlFALSMACgkQitSsb3rl5xReXgCfbftfK3McWJ0uXXU7IlTKVlx1 XQQAoO37NnzD+Wx6xBaX8MrA/ke9ZDyj =A6tv -----END PGP SIGNATURE----- ------enig2DCJJIRKPOMMAAHJLJTNH--