Re: [PATCH 0/5] KVM: PPC: Book3S: Modules cleanup and unification

David Gibson <[email protected]>
Newsgroups org.kernel.vger.kvm-ppc,org.ozlabs.lists.linuxppc-dev
Message-ID <YTAownlTy46X4jGV@yekko>
On Wed, Sep 01, 2021 at 02:33:52PM -0300, Fabiano Rosas wrote:
> This series merges our three kvm modules kvm.ko, kvm-hv.ko and
> kvm-pr.ko into one kvm.ko module.

That doesn't sound like a good idea to me.  People who aren't on BookS
servers don't want - and can't use - kvm-hv.  Almost nobody wants
kvm-pr.  It's also kind of inconsistent with x86, which has the
separate AMD and Intel modules.

> The main reason for this is to deal with the issue that kvm.ko can be
> loaded on its own without any of the other modules present. This can
> happen if one or both of the modules fail to init or if the user loads
> kvm.ko only.
> 
> With only kvm.ko loaded, the userspace can call any of the KVM ioctls
> which will fail more or less gracefully depending on what kind of
> verification we do in powerpc.c.

I see that that's awkward, but I'm not sure it justifies compromising
the actual natural structure of the dependencies.

> Instead of adding a check to every entry point or finding a hack to
> link the modules so that when one fails (hv/pr), the other (kvm)
> exits, I think it is cleaner to just make them all a single module.
> 
> The two KVM implementations are already selected by Kconfig options,
> so the only thing that changes is that they are now in the same
> module. I also kept kvm-hv and kvm-pr as aliases to kvm, so that
> people don't get too surprised with the change.
> 
> There is a possible issue with the larger module size for kernel
> builds that should support both HV-only and PR-only environments, but
> PR is usually not used in production so I'm not sure if that is a real
> issue.
> 
> Patches 1,2,3 are standalone cleanups.
> Patches 4,5 are the unification work.
> 
> Fabiano Rosas (5):
>   KVM: PPC: Book3S HV: Check return value of kvmppc_radix_init
>   KVM: PPC: Book3S HV: Delay setting of kvm ops
>   KVM: PPC: Book3S HV: Free allocated memory if module init fails
>   KVM: PPC: Book3S: Unify kvm-hv and kvm-pr modules
>   KVM: PPC: Book3S: Stop exporting non-builtin symbols
> 
>  arch/powerpc/configs/powernv_defconfig |  2 +-
>  arch/powerpc/configs/ppc64_defconfig   |  2 +-
>  arch/powerpc/configs/pseries_defconfig |  2 +-
>  arch/powerpc/kvm/Kconfig               | 72 ++++++++++++--------------
>  arch/powerpc/kvm/Makefile              | 11 ++--
>  arch/powerpc/kvm/book3s.c              | 61 ++++++++++++++--------
>  arch/powerpc/kvm/book3s.h              | 19 +++++++
>  arch/powerpc/kvm/book3s_64_mmu_radix.c |  3 --
>  arch/powerpc/kvm/book3s_64_vio.c       |  3 --
>  arch/powerpc/kvm/book3s_hv.c           | 38 ++++++++------
>  arch/powerpc/kvm/book3s_pr.c           | 13 -----
>  arch/powerpc/kvm/book3s_rtas.c         |  1 -
>  arch/powerpc/kvm/book3s_xics.c         |  4 --
>  arch/powerpc/kvm/book3s_xive.c         |  6 ---
>  arch/powerpc/kvm/emulate.c             |  1 -
>  arch/powerpc/kvm/powerpc.c             | 14 -----
>  kernel/irq/irqdesc.c                   |  2 +-
>  17 files changed, 125 insertions(+), 129 deletions(-)
> 

-- 
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
signature.asc (application/pgp-signature, 833 B)
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEdfRlhq5hpmzETofcbDjKyiDZs5IFAmEwKMAACgkQbDjKyiDZ
s5IJ8hAAxoqpnAeYoAekbeRGGod/ln+VczLwlefJzgGS2y9ZHs1nxpuP11S7VsfH
oyM8xZZJHQK5r3FIXpRHmhnYoUT5OZDdsCiZkPHZBqda4/AsZB93nGjtTtXOk34G
r48+0TWL35f3lAyPQhdK7WgU+DD0RxoDW4Vn1HGK7e+PXIak4UT4sM6j5oMjWTtL
hHw+ScgZNHa3/i4MHBcgfyYk5gbnV3n0AzkW1nVNu17uaowKommJ2tvNMBCEtuE+
4wUXaQ8vP21/LSj6TMA6rIX6/PhQrOOinfYbWsaOuuiW6j/0Qcrh/Ho9vyoIK9q7
kJSmCtrelqe55OMTA0BwBELv40bbxy9nbw1gS1rcb4ykDQsfQ51JVQZGzomal4vj
zih9VUJiE27mQAmqN3mEYWYVsMFuBtcIPb+GEhWId4EkMBFTChTqeiiznRzHLhal
QRIZ2+9iNDf+c9SVYbu8xXK4IUMaRQvXrzxFBE7NEZFWlFXNyUgCa8V2svPo8P5u
O24dKNB019FyUZ/6ynv0+a9wC4ce5/uCBg3xfhW/2V5Ncw1fApOiV/4eYoOuSD1h
wmld4S9LRJ6ElO8KCWiRRdUxl4yM4VWdN7GIcHXX8EPUti3CY8re2ehqNxqMaJpQ
4djK+MbZ6tRxgQEUqyX6cg7dpr/CVk1QbnysUt6pNysn0DIS29M=
=TeXO
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.