[PATCH 0/5] KVM: PPC: Book3S: Modules cleanup and unification
David Gibson
david at gibson.dropbear.id.au
Thu Sep 2 11:28:34 AEST 2021
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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://lists.ozlabs.org/pipermail/linuxppc-dev/attachments/20210902/9412cfdd/attachment.sig>
More information about the Linuxppc-dev
mailing list