KVM: PPC: Book3E: KVM HV host module doesn't work anymore

Christian Zigotzky chzigotzky at xenosoft.de
Tue Dec 24 01:41:33 AEDT 2024


On 22/12/24 18:49, Paolo Bonzini wrote:
 >
 > Go on with
 > git checkout -b bisection-rebase b467ab82a9fde4b46c0cd2c299220857afb0e0d4
 > git rebase v6.12
 > # check that it boots. if it fails to boot, please report this. if it 
succeds, continue:
 > git bisect start
 > git bisect bad bisection-rebase
 > git bisect good v6.12
 >
 > Proceed to bisect. If you never find a kernel that fails to boot, report.
 >
 > If you find a kernel that fails to boot, start another bisection 
between v6.12 and bisection-rebase, looking for the first patch that 
fails to boot.

Hi Bonzini,

Thank you for your answer.

On 22/12/24 18:49, Paolo Bonzini wrote:

     Thanks. Please try this

     git bisect start
     git checkout c9be85dabb376299504e0d391d15662c0edf8273

---

HEAD is now at c9be85dabb37 KVM: PPC: e500: Mark "struct page" dirty in 
kvmppc_e500_shadow_map()

On 22/12/24 18:49, Paolo Bonzini wrote:

     check that it does not boot

---

Yes, it doesn't boot

On 22/12/24 18:49, Paolo Bonzini wrote:

     git bisect bad
     git checkout adc218676eef25575469234709c2d87185ca223a

---

Previous HEAD position was c9be85dabb37 KVM: PPC: e500: Mark "struct 
page" dirty in kvmppc_e500_shadow_map() HEAD is now at adc218676eef 
Linux 6.12

On 22/12/24 18:49, Paolo Bonzini wrote:

     check that it boots

---

The host system boots and the guest kernel 6.13-rc3 boots in a KVM HV VM 
too.

git bisect good

Bisecting: a merge base must be tested
[e9001a382fa2c256229adc68d55212028b01d515] Merge tag 
'kvmarm-fixes-6.12-3' of 
git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into HEAD

On 22/12/24 18:49, Paolo Bonzini wrote:

     There are two possibilities.
     If e9001a382fa2c256229adc68d55212028b01d515 succeeds to boot

     Then git bisect good and bisect to the patch that causes the host 
to fail to boot. What's left seems to be all non-PPC KVM patches, which 
is a bit weird but you never know. Once you have the result, we'll try 
to fix that, and provide you with a fixed branch to bisect the actual 
KVM-PPC failure.

---

The host system doesn't boot.

On 22/12/24 18:49, Paolo Bonzini wrote:

     A potential candidate, based on your skips, is commit eec1e5db464e 
("KVM: Annotate that all paths in hva_to_pfn() might sleep").

     Please also provide a log of the boot failure (I haven't seen it 
but I might be missing it).
     If e9001a382fa2c256229adc68d55212028b01d515 fails to boot

---

Unfortunately, there isn't a guest kernel boot log via serial log.

On 22/12/24 18:49, Paolo Bonzini wrote:

     Go on with

     git checkout -b bisection-rebase 
b467ab82a9fde4b46c0cd2c299220857afb0e0d4
     git rebase v6.12

---

Applying: Documentation: kvm: fix a few mistakes Applying: 
Documentation: kvm: replace section numbers with links
Applying: Documentation: kvm: reorganize introduction Applying: 
Documentation: KVM: fix malformed table
Applying: x86: KVM: Advertise CPUIDs for new instructions in Clearwater 
Forest
Applying: KVM: x86: expose MSR_PLATFORM_INFO as a feature MSR

On 22/12/24 18:49, Paolo Bonzini wrote:

     check that it boots. if it fails to boot, please report this.

---

The host kernel boots but the guest kernel doesn't boot so KVM HV 
doesn't work.

On 22/12/24 18:49, Paolo Bonzini wrote:

     git bisect start
     git bisect bad bisection-rebase
     git bisect good v6.12

---

Bisecting: 99 revisions left to test after this (roughly 7 steps) 
[e7f7cfdd90c5a8bff38e059ca885a668efd2311f] RISC-V: KVM: Save trap CSRs 
in kvm_riscv_vcpu_enter_exit()

git bisect bad (Host boots and guest doesn't boot)

Output:

Bisecting: 49 revisions left to test after this (roughly 6 steps) 
[4f126962ea9b0d267c4a46f6be0e12698e723210] KVM: Move x86's API to 
release a faultin page to common KVM

git bisect good (Host and guest boot)

Output:

Bisecting: 24 revisions left to test after this (roughly 5 steps) 
[2c56ca43bac9f741b9d1c45d292fd512cf22ce98] KVM: PPC: Use kvm_vcpu_map() 
to map guest memory to patch dcbz instructions

git bisect bad (Host boots and guest doesn't boot)

Output:

Bisecting: 12 revisions left to test after this (roughly 4 steps) 
[a585688ac3ca4a91f80179ffcadb33575d9539a9] KVM: PPC: Use 
__kvm_faultin_pfn() to handle page faults on Book3s Radix

git bisect bad (Host boots and guest doesn't boot)

Bisecting: 5 revisions left to test after this (roughly 3 steps) 
[9f9bae39c20dc83e9c6b0de0ab20260b37f1f48e] KVM: arm64: Mark "struct 
page" pfns accessed/dirty before dropping mmu_lock

git bisect bad (Host boots and guest doesn't boot)

Bisecting: 2 revisions left to test after this (roughly 2 steps) 
[16dd33b96e8c0fb5dc335efaf5ebc7f92feef1ae] KVM: PPC: e500: Mark "struct 
page" dirty in kvmppc_e500_shadow_map()

git bisect good (Host and guest boot)

Output:

Bisecting: 0 revisions left to test after this (roughly 1 step) 
[edebc0a1b7ab5ff19b4f5cd011c93196fc34b3e4] KVM: PPC: e500: Use 
__kvm_faultin_pfn() to handle page faults

git bisect bad (Host boots and guest doesn't boot)

Bisecting: 0 revisions left to test after this (roughly 0 steps) 
[a5608a81925937a230816652bc7b953880606e7c] KVM: PPC: e500: Mark "struct 
page" pfn accessed before dropping mmu_lock

git bisect good (Host and guest boot)

`edebc0a1b7ab5ff19b4f5cd011c93196fc34b3e4 is the first bad commit
commit edebc0a1b7ab5ff19b4f5cd011c93196fc34b3e4
Author: Sean Christopherson seanjc at google.com
Date: Thu Oct 10 11:23:56 2024 -0700

KVM: PPC: e500: Use __kvm_faultin_pfn() to handle page faults

Convert PPC e500 to use __kvm_faultin_pfn()+kvm_release_faultin_page(),
and continue the inexorable march towards the demise of
kvm_pfn_to_refcounted_page().

Signed-off-by: Sean Christopherson <seanjc at google.com>
Tested-by: Dmitry Osipenko <dmitry.osipenko at collabora.com>
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
Message-ID: <20241010182427.1434605-55-seanjc at google.com>

arch/powerpc/kvm/e500_mmu_host.c | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)`

Cheers,
Christian

-- 
Sent with BrassMonkey 33.4.0 (https://github.com/wicknix/brass-monkey/releases/tag/33.4.0)



More information about the Linuxppc-dev mailing list