[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <80d90ee6-0d43-3735-5c26-be8c3d72d493@redhat.com>
Date: Sun, 26 Sep 2021 08:27:28 +0200
From: Paolo Bonzini <pbonzini@...hat.com>
To: Marc Zyngier <maz@...nel.org>,
Sean Christopherson <seanjc@...gle.com>
Cc: Huacai Chen <chenhuacai@...nel.org>,
Aleksandar Markovic <aleksandar.qemu.devel@...il.com>,
Paul Mackerras <paulus@...abs.org>,
Christian Borntraeger <borntraeger@...ibm.com>,
Janosch Frank <frankja@...ux.ibm.com>,
James Morse <james.morse@....com>,
Alexandru Elisei <alexandru.elisei@....com>,
Suzuki K Poulose <suzuki.poulose@....com>,
David Hildenbrand <david@...hat.com>,
Cornelia Huck <cohuck@...hat.com>,
Claudio Imbrenda <imbrenda@...ux.ibm.com>,
Vitaly Kuznetsov <vkuznets@...hat.com>,
Wanpeng Li <wanpengli@...cent.com>,
Jim Mattson <jmattson@...gle.com>,
Joerg Roedel <joro@...tes.org>,
linux-arm-kernel@...ts.infradead.org, kvmarm@...ts.cs.columbia.edu,
linux-mips@...r.kernel.org, kvm@...r.kernel.org,
kvm-ppc@...r.kernel.org, linux-kernel@...r.kernel.org,
David Matlack <dmatlack@...gle.com>,
Jing Zhang <jingzhangos@...gle.com>
Subject: Re: [PATCH 07/14] KVM: Don't block+unblock when halt-polling is
successful
On 25/09/21 11:50, Marc Zyngier wrote:
>> there is no need for arm64 to put/load
>> the vGIC as KVM hasn't relinquished control of the vCPU in any way.
>
> This doesn't mean that there is no requirement for any state
> change. The put/load on GICv4 is crucial for performance, and the VMCR
> resync is a correctness requirement.
I wouldn't even say it's crucial for performance: halt polling cannot
work and is a waste of time without (the current implementation of)
put/load.
However, is activating the doorbell necessary? If possible, polling the
VGIC directly for pending VLPIs without touching the ITS (for example by
emulating IAR reads) may make sense. IIUC that must be done at EL2
though, so maybe it would even make sense to move all of halt polling to
EL2 for the nVHE case. It all depends on benchmark results, of course.
Sorry for the many stupid questions I'm asking lately, but I'm trying to
pay more attention to ARM and understand the VGIC and EL1/EL2 split better.
Paolo
Powered by blists - more mailing lists