ACK: [SRU][F][H][I][PATCH 0/x] KVM hardware diagnose data improvements for guest kernel (LP: 1953334)

Krzysztof Kozlowski krzysztof.kozlowski at canonical.com
Wed Dec 8 11:49:11 UTC 2021


On 07/12/2021 21:38, frank.heimes at canonical.com wrote:
> BugLink: https://bugs.launchpad.net/bugs/1953334
> 
> SRU Justification:
> 
> [Impact]
> 
> * Hardware diagnose data (diag 318) of KVM guest kernel cannot be handled.
> 
> * A fix is needed to enhance problem determination of guest kernel under KVM
>   using DIAG 0x318 instruction execution.
> 
> * The s390x diagnose 318 instruction sets the control program name code (CPNC)
>   and control program version code (CPVC) to provide useful information
>   regarding the OS during debugging.
> 
> * The CPNC is explicitly set to 4 to indicate a Linux/KVM environment.
> 
> [Fix]
> 
> * In general the following 4 commits are needed:
> 
> * 3fd8417f2c728d810a3b26d7e2008012ffb7fd01 3fd8417f2c72 "KVM: s390: add debug statement for diag 318 CPNC data"
>   https://launchpadlibrarian.net/572621875/0004-KVM-s390-add-debug-statement-for-diag-318-CPNC-data.patch
> 
> * 6cbf1e960fa52e4c63a6dfa4cda8736375b34ccc 6cbf1e960fa5 "KVM: s390: remove diag318 reset code"
>   https://launchpadlibrarian.net/572621873/0003-KVM-s390-remove-diag318-reset-code.patch
> 
> * 23a60f834406c8e3805328b630d09d5546b460c1 23a60f834406 "s390/kvm: diagnose 0x318 sync and reset"
>   https://launchpadlibrarian.net/572621869/0002-s390-kvm-diagnose-0x318-sync-and-reset.patch
> 
> * a23816f3cdcbffe5dc6e8c331914b3f51b87c2f3 a23816f3cdcb "s390/setup: diag 318: refactor struct"
>   https://launchpadlibrarian.net/572620815/0001-s390-setup-diag-318-refactor-struct.patch
> 
> * For jammy, hirsute and impish only the first commit is needed, the others are already in.
> 
> * For focal all 4 commits are needed, but since they do not apply cleanly on focal, the attached backports need to be used instead.
> 
> [Test Case]
> 
> * Setup an IBM Z or LinuxONE LPAR with Ubuntu Server as KVM host.
> 
> * And setup an Ubuntu KVM virtual on top.
> 
> * It can then be observed if the CPNC (diag318 data) has been successfully set
>   by looking at the s390dbf messages for the KVM guest.
> 
> * The CPNC will always be 4 (denotes Linux environment).
> 
> * Another way to test this is by running the sync_regs_test under
>   tools/testing/selftests/kvm/s390x/sync_regs_test.
>   Just running the kernel self test suite can trigger this.
> 


Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski at canonical.com>


Best regards,
Krzysztof



More information about the kernel-team mailing list