Re: Possible nohz-full/RCU issue in arm64 KVM

From: Paolo Bonzini
Date: Tue Jan 04 2022 - 12:10:22 EST


On 1/4/22 17:39, Mark Rutland wrote:
My main issue here was just that it's really difficult to see how the
entry/exit logic is balanced, and I reckon we can solve that by splitting
guest_{enter,exit}_irqoff() into helper functions to handle the vtime
accounting separately from the context tracking, so that arch code can do
something like:

guest_timing_enter_irqoff();
guest_eqs_enter_irqoff();
< actually run vCPU here >
guest_eqs_exit_irqoff();
< handle pending IRQs here >
guest_timing_exit_irqoff();

... which I hope should work for RISC-V too.

I've had a go, and I've pushed out a WIP to:

https://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git/log/?h=arm64/kvm/rcu

Yes, you have a point and it makes sense for x86 too. You can send me a topic branch once you get all the acks. Thanks!

Paolo