From: Marc Zyngier <maz@kernel.org>
To: Zenghui Yu <yuzenghui@huawei.com>
Cc: kvm@vger.kernel.org, Suzuki K Poulose <suzuki.poulose@arm.com>,
Eric Auger <eric.auger@redhat.com>,
James Morse <james.morse@arm.com>,
linux-arm-kernel@lists.infradead.org,
kvmarm@lists.cs.columbia.edu,
Julien Thierry <julien.thierry.kdev@gmail.com>
Subject: Re: [PATCH] KVM: arm64: vgic-v4: Initialize GICv4.1 even in the absence of a virtual ITS
Date: Thu, 30 Apr 2020 12:39:24 +0100 [thread overview]
Message-ID: <cd9743fabceee2a821808046081930cd@kernel.org> (raw)
In-Reply-To: <5b23b938-f71f-5523-6d7e-027bcca98dd4@huawei.com>
Hi Zenghui,
On 2020-04-30 12:24, Zenghui Yu wrote:
> Hi Marc,
>
> On 2020/4/25 17:44, Marc Zyngier wrote:
>> KVM now expects to be able to use HW-accelerated delivery of vSGIs
>> as soon as the guest has enabled thm. Unfortunately, we only
> them
>> initialize the GICv4 context if we have a virtual ITS exposed to
>> the guest.
>>
>> Fix it by always initializing the GICv4.1 context if it is
>> available on the host.
>>
>> Fixes: 2291ff2f2a56 ("KVM: arm64: GICv4.1: Plumb SGI implementation
>> selection in the distributor")
>> Signed-off-by: Marc Zyngier <maz@kernel.org>
>> ---
>> virt/kvm/arm/vgic/vgic-init.c | 9 ++++++++-
>> virt/kvm/arm/vgic/vgic-mmio-v3.c | 3 ++-
>> 2 files changed, 10 insertions(+), 2 deletions(-)
>>
>> diff --git a/virt/kvm/arm/vgic/vgic-init.c
>> b/virt/kvm/arm/vgic/vgic-init.c
>> index a963b9d766b73..8e6f350c3bcd1 100644
>> --- a/virt/kvm/arm/vgic/vgic-init.c
>> +++ b/virt/kvm/arm/vgic/vgic-init.c
>> @@ -294,8 +294,15 @@ int vgic_init(struct kvm *kvm)
>> }
>> }
>> - if (vgic_has_its(kvm)) {
>> + if (vgic_has_its(kvm))
>> vgic_lpi_translation_cache_init(kvm);
>> +
>> + /*
>> + * If we have GICv4.1 enabled, unconditionnaly request enable the
>> + * v4 support so that we get HW-accelerated vSGIs. Otherwise, only
>> + * enable it if we present a virtual ITS to the guest.
>> + */
>> + if (vgic_supports_direct_msis(kvm)) {
>> ret = vgic_v4_init(kvm);
>> if (ret)
>> goto out;
>> diff --git a/virt/kvm/arm/vgic/vgic-mmio-v3.c
>> b/virt/kvm/arm/vgic/vgic-mmio-v3.c
>> index e72dcc4542475..26b11dcd45524 100644
>> --- a/virt/kvm/arm/vgic/vgic-mmio-v3.c
>> +++ b/virt/kvm/arm/vgic/vgic-mmio-v3.c
>> @@ -50,7 +50,8 @@ bool vgic_has_its(struct kvm *kvm)
>> bool vgic_supports_direct_msis(struct kvm *kvm)
>> {
>> - return kvm_vgic_global_state.has_gicv4 && vgic_has_its(kvm);
>> + return (kvm_vgic_global_state.has_gicv4_1 ||
>> + (kvm_vgic_global_state.has_gicv4 && vgic_has_its(kvm)));
>> }
>
> Not related to this patch, but I think that the function name can be
> improved a bit after this change. It now indicates whether the vGIC
> supports direct MSIs injection *or* direct SGIs injection, not just
> MSIs. And if vgic_has_its() is false, we don't even support MSIs.
Yes, I noticed that too. But in the spirit of keeping the change minimal
and avoid later conflicts with potential fixes, I decided against
changing
it right now.
> The fix itself looks correct to me,
>
> Reviewed-by: Zenghui Yu <yuzenghui@huawei.com>
Thanks,
M.
--
Jazz is not dead. It just smells funny...
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
prev parent reply other threads:[~2020-04-30 11:39 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-04-25 9:44 [PATCH] KVM: arm64: vgic-v4: Initialize GICv4.1 even in the absence of a virtual ITS Marc Zyngier
2020-04-30 11:24 ` Zenghui Yu
2020-04-30 11:39 ` Marc Zyngier [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cd9743fabceee2a821808046081930cd@kernel.org \
--to=maz@kernel.org \
--cc=eric.auger@redhat.com \
--cc=james.morse@arm.com \
--cc=julien.thierry.kdev@gmail.com \
--cc=kvm@vger.kernel.org \
--cc=kvmarm@lists.cs.columbia.edu \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=suzuki.poulose@arm.com \
--cc=yuzenghui@huawei.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).