Thread (19 messages) flat view 19 messages, 4 authors, 2021-11-05

Re: KVM on POWER8 host lock up since 10d91611f426 ("powerpc/64s: Reimplement book3s idle code in C")

From: Nicholas Piggin <npiggin@gmail.com>
Date: 2020-09-07 13:16:48

Excerpts from Michael Ellerman's message of August 31, 2020 8:50 pm:
Michal Suchánek [off-list ref] writes:
quoted
On Mon, Aug 31, 2020 at 11:14:18AM +1000, Nicholas Piggin wrote:
quoted
Excerpts from Michal Suchánek's message of August 31, 2020 6:11 am:
quoted
Hello,

on POWER8 KVM hosts lock up since commit 10d91611f426 ("powerpc/64s:
Reimplement book3s idle code in C").

The symptom is host locking up completely after some hours of KVM
workload with messages like

2020-08-30T10:51:31+00:00 obs-power8-01 kernel: KVM: couldn't grab cpu 47
2020-08-30T10:51:31+00:00 obs-power8-01 kernel: KVM: couldn't grab cpu 71
2020-08-30T10:51:31+00:00 obs-power8-01 kernel: KVM: couldn't grab cpu 47
2020-08-30T10:51:31+00:00 obs-power8-01 kernel: KVM: couldn't grab cpu 71
2020-08-30T10:51:31+00:00 obs-power8-01 kernel: KVM: couldn't grab cpu 47

printed before the host locks up.

The machines run sandboxed builds which is a mixed workload resulting in
IO/single core/mutiple core load over time and there are periods of no
activity and no VMS runnig as well. The VMs are shortlived so VM
setup/terdown is somewhat excercised as well.

POWER9 with the new guest entry fast path does not seem to be affected.

Reverted the patch and the followup idle fixes on top of 5.2.14 and
re-applied commit a3f3072db6ca ("powerpc/powernv/idle: Restore IAMR
after idle") which gives same idle code as 5.1.16 and the kernel seems
stable.

Config is attached.

I cannot easily revert this commit, especially if I want to use the same
kernel on POWER8 and POWER9 - many of the POWER9 fixes are applicable
only to the new idle code.

Any idea what can be the problem?
So hwthread_state is never getting back to to HWTHREAD_IN_IDLE on
those threads. I wonder what they are doing. POWER8 doesn't have a good
NMI IPI and I don't know if it supports pdbg dumping registers from the
BMC unfortunately.
It may be possible to set up fadump with a later kernel version that
supports it on powernv and dump the whole kernel.
Your firmware won't support it AFAIK.

You could try kdump, but if we have CPUs stuck in KVM then there's a
good chance it won't work :/
I haven't had any luck yet reproducing this still. Testing with sub 
cores of various different combinations, etc. I'll keep trying though.

I don't know if there's much we can add to debug it. Can we run pdbg
on the BMCs on these things?

Thanks,
Nick
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help