** Description changed: + 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. + __________ + == Comment: #0 - SEETEENA THOUFEEK <sthou...@in.ibm.com> - 2024-06-25 01:24:11 == +++ This bug was initially created as a clone of Bug #205277 +++ ---Problem Description--- KOP L2 guest fails to boot with 1 core - SMT8 topology - + ---Additional Hardware Info--- - na + na - ---Debugger Data--- - na - + na + ---Steps to Reproduce--- - KOP L2 guest fails to boot when we set the CPU topology as 1 core - SMT 8 + KOP L2 guest fails to boot when we set the CPU topology as 1 core - SMT 8 command line used to verify the issue: #!/bin/sh QEMU="/home/mgautam/qemu" qemu-system-ppc64 -s \ -drive file=/root/debian-12-nocloud-ppc64el.qcow2,format=qcow2 \ -m 20G \ -smp 8,cores=1,sockets=1,threads=8 \ -cpu host \ -nographic \ -machine pseries,ic-mode=xics -accel kvm \ -net nic,model=virtio \ -net user,host=10.0.2.10,hostfwd=tcp:127.0.0.1:10022-:22 - NOTE: L2 boots fine when doorbells are turned off in L1 kernel - - As per the investigation so far, the doorbell exception is not getting fired inside L2 guest. At L1 level, if we set DPDES=1 in the GSB for L2, the guest never receives the doorbell and also it is never cleared from the GSB. We are discussing this behaviour with phyp team. + As per the investigation so far, the doorbell exception is not getting + fired inside L2 guest. At L1 level, if we set DPDES=1 in the GSB for L2, + the guest never receives the doorbell and also it is never cleared from + the GSB. We are discussing this behaviour with phyp team. The root cause of this issue is lack of DPDES support at L1. I've posted the fix upstream - https://lore.kernel.org/linuxppc- dev/20240522084949.123148-1-gau...@linux.ibm.com/T/#u + The fix has been accepted upstream and will be backported for kernels >= + 6.7 - The fix has been accepted upstream and will be backported for kernels >= 6.7 + https://lore.kernel.org/linuxppc- + dev/20240605113913.83715-1-gau...@linux.ibm.com/ - https://lore.kernel.org/linuxppc-dev/20240605113913.83715-1-gau...@linux.ibm.com/ - ---Patches Installed--- na - + ---System Hang--- - na - + na + ---uname output--- na - - Contact Information = na - - Machine Type = na - Userspace rpm: na - - Userspace tool common name: na - - The userspace tool has the following bit modes: na + Contact Information = na - Userspace tool obtained from project website: na - - *Additional Instructions for na: + Machine Type = na + + Userspace rpm: na + + Userspace tool common name: na + + The userspace tool has the following bit modes: na + + Userspace tool obtained from project website: na + + *Additional Instructions for na: -Post a private note with access information to the machine that is currently in the debugger. -Attach ltrace and strace of userspace application.
-- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2070329 Title: KOP L2 guest fails to boot with 1 core - SMT8 topology To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu-power-systems/+bug/2070329/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs