From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:52228) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1amt2f-0000x6-VH for qemu-devel@nongnu.org; Sun, 03 Apr 2016 21:10:59 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1amt2c-00069f-Pt for qemu-devel@nongnu.org; Sun, 03 Apr 2016 21:10:57 -0400 Date: Mon, 4 Apr 2016 11:10:56 +1000 From: David Gibson Message-ID: <20160404011056.GF16485@voom.fritz.box> References: <1459482767-12573-1-git-send-email-david@gibson.dropbear.id.au> <56FE4D4F.2050003@redhat.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="aPdhxNJGSeOG9wFI" Content-Disposition: inline In-Reply-To: <56FE4D4F.2050003@redhat.com> Subject: Re: [Qemu-devel] [PATCH] target-ppc: Correct KVM synchronization for ppc_hash64_set_external_hpt() List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: lvivier@redhat.com, peter.maydell@linaro.org, mdroth@linux.vnet.ibm.com, aik@ozlabs.ru, qemu-devel@nongnu.org, agraf@suse.de, qemu-ppc@nongnu.org --aPdhxNJGSeOG9wFI Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Fri, Apr 01, 2016 at 12:28:31PM +0200, Paolo Bonzini wrote: >=20 >=20 > On 01/04/2016 05:52, David Gibson wrote: > > This seems like the right minimal fix in the qemu-2.6 timeframe to fix > > the actual bug. However, longer term it seems like the correct thing > > to do might be to set kvm_vcpu_dirty early in the reset path. Thoughts? >=20 > Isn't it done already? vl.c does: >=20 > pause_all_vcpus(); > cpu_synchronize_all_states(); > qemu_system_reset(VMRESET_REPORT); > resume_all_vcpus(); Huh.. now I'm really confused. Given this I would indeed have expected kvm_vpcu_dirty to be set in the reset path, but that would make the cpu_synchronize_state() causing the problem to act as a no-op, so it shouldn't be causing the problem. Investigating... >=20 > Thanks, >=20 > Paolo >=20 > > diff --git a/target-ppc/mmu-hash64.c b/target-ppc/mmu-hash64.c > > index 72c4ab5..caf41ce 100644 > > --- a/target-ppc/mmu-hash64.c > > +++ b/target-ppc/mmu-hash64.c > > @@ -283,8 +283,6 @@ void ppc_hash64_set_external_hpt(PowerPCCPU *cpu, v= oid *hpt, int shift, > > CPUPPCState *env =3D &cpu->env; > > Error *local_err =3D NULL; > > =20 > > - cpu_synchronize_state(CPU(cpu)); > > - > > if (hpt) { > > env->external_htab =3D hpt; > > } else { >=20 --=20 David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson --aPdhxNJGSeOG9wFI Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAEBAgAGBQJXAb8gAAoJEGw4ysog2bOSjk4P+waDUDpcbk52Grjz/2lGUmux waw4PXnm1sQHrcmr0bJHKpOvJN2pMzbZZm/SoPcDkpXqtC5OALS6BspSNJQTVjEj KChcMTg1+WN0afWdNftVj47DNODxk4jzxcoSpEjt0YxHjv6kdjuE3l6XOBUkGqui 24spKsuBIEM7171HC4hBtyR6ApFOQSQADIs1nv06f4wx5hX1j2U4sGxkB2wZCh+9 by1odXgqc5R3mfcpCKrqXJDo7Urikokqx2f1edo305hzcsuFE7xnEB+L7+NAjf1p jVKFzkAI7gRylylVuXgqbBQumV0HxM1eRzZ5ziBVeWAy4znfuU8XsnhYap4/HwH6 ZU3ZTcbzv23Ct5UIXg7tLmdGJGvn7/wKar6vV2W3MbYRSvuXLxJQjnWKDRf11Hwm SgJfcLeMjuu22RS54PlJtIcw9NGwitWseMcV5DehY5lQjhbZSHv7HbNMYOd9uoeT i84qAcw84Nd0/oHrg+nbIouPUXFmTl2nT8jl/cw0ulpARd8dzp6G56zpLX9dX20t UQwM+rRpJncmaQRmuPZ2TPnAtZDOKv0aAGK7L0DlVQCxCl9QaqoSg/TK2Y8ZcaLC ENo+sU/rZeGQG6P1wnuhDJDUphVViHV7ussvKiuFt4iGCGUjTCTdAe4I6lHj2R71 v0rMBE6mHKoEWY/P5ezv =oWkV -----END PGP SIGNATURE----- --aPdhxNJGSeOG9wFI--