APPLIED: [SRU][N][PATCH 0/2] KOP L2 guest fails to boot with 1 core - SMT8 topology (LP: 2070329)

Stefan Bader stefan.bader at canonical.com
Thu Sep 26 15:47:31 UTC 2024


On 02.09.24 10:34, frank.heimes at canonical.com wrote:
> BugLink: https://bugs.launchpad.net/bugs/2070329
> 
> SRU Justification:
> 
> [ Impact ]
> 
>   * On a P10 system with SMT-8 configured
>     a level 2 guest (VM) fails to boot in case
>     it only has one core assigned.
> 
> [ Test Plan ]
> 
>   * Setup an IBM Power 10 system - that support up to SMT-8
>     and with firmware 1060, that offers support for KVM -
>     using Ubuntu Server 24.04 for ppc64el.
> 
>   * Setup qemu/KVM on this system.
> 
>   * Configure a KVM guest (e.g. using virtinst or
>     qemu-system-ppc64 directly) now with smt-8,
>     but only one virtual CPU.
> 
>   * Try to boot this specific guest:
>     qemu-system-ppc64 \
>     -drive file=rhel.qcow2,format=qcow2 \
>     -m 20G \
>     -smp 8,cores=1,threads=8 \
>     -cpu host \
>     -nographic \
>     -machine pseries,ic-mode=xics -accel kvm
> 
>   * It will fail to boot with a kernel that does not
>     have the two patches in place.
> 
>   * Since this setup requires a special firmware level,
>     the verification will be done by the IBM Power team.
> 
> [ Where problems could occur ]
> 
>   * Primarily support for using DPDES (register) is required,
>     since its needed for enabling usage of doorbells in L2 gusts.
>     This is mainly done by adding DEFINEs, stubs and case.
>     If the definitions are not correct or if the code executed by
>     the new case (KVMPPC_GSID_DPDES) is done wrong,
>     the guest state could be incorrect, harming the L2 guest doorbell.
>     (DPDES is to provide the means for the hypervisor to save a
>      [sub-]processor's Directed Privileged Doorbell exception state
>      when the set of programs running on the [sub-]processor is
>      swapped out or moved from one [sub-]processor to another.)
> 
>   * The missing Doorbell emulation got added by a 4 line if statement
>     in powerpc/kvm/book3s_hv.c, which is relatively traceable.
> 
>   * The main issue I can think of is that kvmppc_set_dpdes is called
>     with wrong arguments.
> 
>   * And kvmppc_set_dpdes will not work (at all) if the above DPDES
>     support (and commit/patch) is missing.
> 
> [ Other Info ]
> 
>   * Since (nested) KVM support is new on P10,
>     this does not affect older Power generation
>     (P9 is the only other hw generation that is supported by 24.04,
>     but it only supports native virtualization).
> 
>   * Both patches are upstream accepted since v6.11(-rc1),
>     hence will be in oracular
>     and are also upstream tagged as stable updates.
> 
>   * Since the required firmware FW1060 is relatively new,
>     we can assume that not many user ran into this issue yet.
> 
> Gautam Menghani (2):
>    KVM: PPC: Book3S HV nestedv2: Add DPDES support in helper library for
>      Guest state buffer
>    KVM: PPC: Book3S HV nestedv2: Fix doorbell emulation
> 
>   Documentation/arch/powerpc/kvm-nested.rst     | 4 +++-
>   arch/powerpc/include/asm/guest-state-buffer.h | 3 ++-
>   arch/powerpc/include/asm/kvm_book3s.h         | 1 +
>   arch/powerpc/kvm/book3s_hv.c                  | 5 +++++
>   arch/powerpc/kvm/book3s_hv_nestedv2.c         | 7 +++++++
>   arch/powerpc/kvm/test-guest-state-buffer.c    | 2 +-
>   6 files changed, 19 insertions(+), 3 deletions(-)
> 

Applied to noble:linux/master-next. Thanks.

-Stefan

-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_0xE8675DEECBEECEA3.asc
Type: application/pgp-keys
Size: 48643 bytes
Desc: OpenPGP public key
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20240926/caed8ea6/attachment-0001.key>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20240926/caed8ea6/attachment-0001.sig>


More information about the kernel-team mailing list