[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YPf5MFV99zPdTu/U@google.com>
Date: Wed, 21 Jul 2021 19:38:40 +0900
From: Sergey Senozhatsky <senozhatsky@...omium.org>
To: Marc Zyngier <maz@...nel.org>
Cc: Joel Fernandes <joelaf@...gle.com>,
Sergey Senozhatsky <senozhatsky@...omium.org>,
Will Deacon <will@...nel.org>,
Suleiman Souhlal <suleiman@...gle.com>,
linux-arm-kernel@...ts.infradead.org, kvmarm@...ts.cs.columbia.edu,
linux-kernel@...r.kernel.org,
virtualization@...ts.linux-foundation.org
Subject: Re: [PATCHv2 4/4] arm64: add host pv-vcpu-state support
On (21/07/21 09:40), Marc Zyngier wrote:
> >
> > Can that be cured by just checking vcpu->preempted before calling
> > kvm_update_vcpu_preempted() ?
>
> It isn't obvious to me that this is the right thing to do.
> vcpu->preempted is always updated on sched-out from the preempt
> notifier if the vcpu was on the run-queue, so my guess is that it will
> always be set when switching to another task.
>
> What you probably want is to check whether the vcpu is blocked by
> introspecting the wait-queue with:
>
> scuwait_active(kvm_arch_vcpu_get_wait(vcpu)
>
> which will tell you whether you are blocking or not. We are already
> using a similar construct for arming a background timer in this case.
Can we examine if vcpu->run->exit_reason == WFE/WFI and avoid setting
preempted state if so?
Powered by blists - more mailing lists