From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Gibson Date: Thu, 27 Sep 2018 04:13:54 +0000 Subject: Re: [RFC PATCH 18/32] KVM: PPC: Book3S HV: Use kvmppc_unmap_pte() in kvm_unmap_radix() Message-Id: <20180927041354.GL30868@umbus.fritz.box> MIME-Version: 1 Content-Type: multipart/mixed; boundary="5DrZbUHLOtSW14Wr" List-Id: References: <1537524123-9578-19-git-send-email-paulus@ozlabs.org> In-Reply-To: <1537524123-9578-19-git-send-email-paulus@ozlabs.org> To: kvm-ppc@vger.kernel.org --5DrZbUHLOtSW14Wr Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Wed, Sep 26, 2018 at 09:18:56PM +1000, Paul Mackerras wrote: > On Wed, Sep 26, 2018 at 02:30:02PM +1000, David Gibson wrote: > > On Wed, Sep 26, 2018 at 02:08:37PM +1000, David Gibson wrote: > > > > static void kvmppc_unmap_pte(struct kvm *kvm, pte_t *pte, > > > > - unsigned long gpa, unsigned int shift) > > > > + unsigned long gpa, unsigned int shift, > > > > + struct kvm_memory_slot *memslot) > > > > =20 > > > > { > > > > - unsigned long page_size =3D 1ul << shift; > > > > unsigned long old; > > > > =20 > > > > old =3D kvmppc_radix_update_pte(kvm, pte, ~0UL, 0, gpa, shift); > > > > kvmppc_radix_tlbie_page(kvm, gpa, shift); > > > > if (old & _PAGE_DIRTY) { > > > > unsigned long gfn =3D gpa >> PAGE_SHIFT; > > > > - struct kvm_memory_slot *memslot; > > > > + unsigned long page_size =3D PAGE_SIZE; > > > > =20 > > > > - memslot =3D gfn_to_memslot(kvm, gfn); > > > > - if (memslot && memslot->dirty_bitmap) > > > > + if (shift) > > > > + page_size =3D 1ul << shift; > > > > + if (!memslot) > > > > + memslot =3D gfn_to_memslot(kvm, gfn); > >=20 > > ..it might be nicer to avoid the explicit test on memslot by maping a > > __kvmppc_unmap_pte() which must have memslot passed in, and a wrapper > > which computes it from the gfn. >=20 > Then we would be looking up the memslot even when we aren't going to > use it. In a subsequent patch this function gets used on shadow page > tables and in that case we never need the memslot. Ah, good point. --=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 --5DrZbUHLOtSW14Wr Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEdfRlhq5hpmzETofcbDjKyiDZs5IFAlusWQIACgkQbDjKyiDZ s5JqYRAAiMQ0TfqDVHS07NPVIajXS4RrC/ZzpJHoEFyBKhUwyns49niyFhgAEoaF bRIK8ggQE9EgoDWil6IpcPePfvkGNfMEKBVyy9ELd+CXdVuRj9bFHQjTSYQX3Vw/ QSoWnAIIN1+YiMOT0f3oHyTFadVtQ65HszuhR8FPsd/1hNXK7vUBlra+/Skn6nyB EHmsRiJ3rP5wIjujuXNjfq+iSd41XvbBO1JpNRB3jGqgFtQq9cbwPPcdcaNFUoTQ LAKdQVmMQdCDOj28k8I4BXNzXTTevJPmq9i5KXd0RMvmLZL/QVwXMrmauumS0roY vCjccN3YORMuJDx2L0gXLeODXYZVL4zGrQgdtAucVcoz6XYRQlsUGXxsFSvmbXdv XDJT3cyqloLCvGJHUwkvIX5drK/J+ZpdgqS4nqilHlwNpLD2iy7eef4keJXTQkuO 5DR8AU/QLGsgSDMt8+UKTnr0kmjVG2FiNWEZvIrfAGTEZOWniaUp24IXrVG37BEJ 9vhtAJ0hu0C9OuJYcKwzzHADd3Pm0uf4tyTVKeifqH8cafI6U8X2WMBxmiEqWlsu 3qwD7qB+dbVSxzRfpXOgTS5Go5hRFJ8hxuryxDp2LQ1G4GAC0jCmIMZQGDw8Vq+t aQVC7R+dpr1Xbawyl77qGYzIDKArZGOFui+GNe3M0y+qIfdqkHg= =lKIq -----END PGP SIGNATURE----- --5DrZbUHLOtSW14Wr--