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

Paolo Bonzini
2021-12-17T16:11:10Z

On 12/17/21 15:38, Mark Rutland wrote:
> For example kvm_guest_enter_irqoff() calls guest_enter_irq_off() which calls
> vtime_account_guest_enter(), but kvm_guest_exit_irqoff() doesn't call
> guest_exit_irq_off() and the call to vtime_account_guest_exit() is open-coded
> elsewhere. Also, guest_enter_irq_off() conditionally calls
> rcu_virt_note_context_switch(), but I can't immediately spot anything on the
> exit side that corresponded with that, which looks suspicious.

rcu_note_context_switch() is a point-in-time notification; it's not
strictly necessary, but it may improve performance a bit by avoiding
unnecessary IPIs from the RCU subsystem.

There's no benefit from doing it when you're back from the guest,
because at that point the CPU is just running normal kernel code.

Paolo