]> git.baikalelectronics.ru Git - kernel.git/commit
KVM: PPC: Book3S HV: Fix decrementer migration
authorFabiano Rosas <farosas@linux.ibm.com>
Tue, 16 Aug 2022 22:25:17 +0000 (19:25 -0300)
committerMichael Ellerman <mpe@ellerman.id.au>
Tue, 27 Sep 2022 15:07:19 +0000 (01:07 +1000)
commita1c7b9d6d2bd58ecd4ba958e8ae22f0f1418448f
treeef96714f4fdd91c3fb3a25ba5e28b39b0fd61f4a
parentacaa855d21c1fc8e8a1fab873003c0736c2d01f6
KVM: PPC: Book3S HV: Fix decrementer migration

We used to have a workaround[1] for a hang during migration that was
made ineffective when we converted the decrementer expiry to be
relative to guest timebase.

The point of the workaround was that in the absence of an explicit
decrementer expiry value provided by userspace during migration, KVM
needs to initialize dec_expires to a value that will result in an
expired decrementer after subtracting the current guest timebase. That
stops the vcpu from hanging after migration due to a decrementer
that's too large.

If the dec_expires is now relative to guest timebase, its
initialization needs to be guest timebase-relative as well, otherwise
we end up with a decrementer expiry that is still larger than the
guest timebase.

1- https://git.kernel.org/torvalds/c/91b29f2187e8

Fixes: 6e2ed2665263 ("KVM: PPC: Book3S HV: Change dec_expires to be relative to guest timebase")
Signed-off-by: Fabiano Rosas <farosas@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20220816222517.1916391-1-farosas@linux.ibm.com
arch/powerpc/kvm/book3s_hv.c
arch/powerpc/kvm/powerpc.c