[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <b8e273bf-ae2c-cc5c-0d20-33f3dd12053c@redhat.com>
Date: Tue, 4 Jan 2022 18:07:32 +0100
From: Paolo Bonzini <pbonzini@...hat.com>
To: Mark Rutland <mark.rutland@....com>
Cc: Nicolas Saenz Julienne <nsaenzju@...hat.com>,
paulmck <paulmck@...nel.org>, maz <maz@...nel.org>,
frederic <frederic@...nel.org>,
linux-kernel <linux-kernel@...r.kernel.org>,
rcu <rcu@...r.kernel.org>, Thomas Gleixner <tglx@...utronix.de>,
Will Deacon <will@...nel.org>, kvmarm@...ts.cs.columbia.edu,
linux-arm-kernel <linux-arm-kernel@...ts.infradead.org>,
Anup Patel <Anup.Patel@....com>
Subject: Re: Possible nohz-full/RCU issue in arm64 KVM
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
Powered by blists - more mailing lists