From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.3 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8209CC2D0E4 for ; Tue, 24 Nov 2020 13:12:19 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 1A008206D9 for ; Tue, 24 Nov 2020 13:12:19 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2387902AbgKXNMS (ORCPT ); Tue, 24 Nov 2020 08:12:18 -0500 Received: from szxga05-in.huawei.com ([45.249.212.191]:8027 "EHLO szxga05-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2387781AbgKXNMR (ORCPT ); Tue, 24 Nov 2020 08:12:17 -0500 Received: from DGGEMS404-HUB.china.huawei.com (unknown [172.30.72.59]) by szxga05-in.huawei.com (SkyGuard) with ESMTP id 4CgPYk74vlzhfq2; Tue, 24 Nov 2020 21:11:54 +0800 (CST) Received: from [10.174.187.74] (10.174.187.74) by DGGEMS404-HUB.china.huawei.com (10.3.19.204) with Microsoft SMTP Server id 14.3.487.0; Tue, 24 Nov 2020 21:12:04 +0800 Subject: Re: [RFC PATCH v1 3/4] KVM: arm64: GICv4.1: Restore VLPI's pending state to physical side To: Marc Zyngier CC: James Morse , Julien Thierry , Suzuki K Poulose , Eric Auger , , , , , Christoffer Dall , Alex Williamson , Kirti Wankhede , Cornelia Huck , Neo Jia , , References: <20201123065410.1915-1-lushenming@huawei.com> <20201123065410.1915-4-lushenming@huawei.com> <5c724bb83730cdd5dcf7add9a812fa92@kernel.org> <2d2bcae4f871d239a1af50362f5c11a4@kernel.org> From: Shenming Lu Message-ID: <49610291-cf57-ff78-d0ac-063af24efbb4@huawei.com> Date: Tue, 24 Nov 2020 21:12:04 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.2.2 MIME-Version: 1.0 In-Reply-To: <2d2bcae4f871d239a1af50362f5c11a4@kernel.org> Content-Type: text/plain; charset="utf-8" Content-Language: en-US Content-Transfer-Encoding: 8bit X-Originating-IP: [10.174.187.74] X-CFilter-Loop: Reflected Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2020/11/24 16:44, Marc Zyngier wrote: > On 2020-11-24 08:10, Shenming Lu wrote: >> On 2020/11/23 17:27, Marc Zyngier wrote: >>> On 2020-11-23 06:54, Shenming Lu wrote: >>>> From: Zenghui Yu >>>> >>>> When setting the forwarding path of a VLPI, it is more consistent to >>> >>> I'm not sure it is more consistent. It is a *new* behaviour, because it only >>> matters for migration, which has been so far unsupported. >> >> Alright, consistent may not be accurate... >> But I have doubt that whether there is really no need to transfer the >> pending states >> from kvm'vgic to VPT in set_forwarding regardless of migration, and the similar >> for unset_forwarding. > > If you have to transfer that state outside of the a save/restore, it means that > you have missed the programming of the PCI endpoint. This is an established > restriction that the MSI programming must occur *after* the translation has > been established using MAPI/MAPTI (see the large comment at the beginning of > vgic-v4.c). > > If you want to revisit this, fair enough. But you will need a lot more than > just opportunistically transfer the pending state. Thanks, I will look at what you mentioned. > >> >>> >>>> also transfer the pending state from irq->pending_latch to VPT (especially >>>> in migration, the pending states of VLPIs are restored into kvm’s vgic >>>> first). And we currently send "INT+VSYNC" to trigger a VLPI to pending. >>>> >>>> Signed-off-by: Zenghui Yu >>>> Signed-off-by: Shenming Lu >>>> --- >>>>  arch/arm64/kvm/vgic/vgic-v4.c | 12 ++++++++++++ >>>>  1 file changed, 12 insertions(+) >>>> >>>> diff --git a/arch/arm64/kvm/vgic/vgic-v4.c b/arch/arm64/kvm/vgic/vgic-v4.c >>>> index b5fa73c9fd35..cc3ab9cea182 100644 >>>> --- a/arch/arm64/kvm/vgic/vgic-v4.c >>>> +++ b/arch/arm64/kvm/vgic/vgic-v4.c >>>> @@ -418,6 +418,18 @@ int kvm_vgic_v4_set_forwarding(struct kvm *kvm, int virq, >>>>      irq->host_irq    = virq; >>>>      atomic_inc(&map.vpe->vlpi_count); >>>> >>>> +    /* Transfer pending state */ >>>> +    ret = irq_set_irqchip_state(irq->host_irq, >>>> +                    IRQCHIP_STATE_PENDING, >>>> +                    irq->pending_latch); >>>> +    WARN_RATELIMIT(ret, "IRQ %d", irq->host_irq); >>>> + >>>> +    /* >>>> +     * Let it be pruned from ap_list later and don't bother >>>> +     * the List Register. >>>> +     */ >>>> +    irq->pending_latch = false; >>> >>> It occurs to me that calling into irq_set_irqchip_state() for a large >>> number of interrupts can take a significant amount of time. It is also >>> odd that you dump the VPT with the VPE unmapped, but rely on the VPE >>> being mapped for the opposite operation. >>> >>> Shouldn't these be symmetric, all performed while the VPE is unmapped? >>> It would also save a lot of ITS traffic. >>> >> >> My thought was to use the existing interface directly without unmapping... >> >> If you want to unmap the vPE and poke the VPT here, as I said in the cover >> letter, set/unset_forwarding might also be called when all devices are running >> at normal run time, in which case the unmapping of the vPE is not allowed... > > No, I'm suggesting that you don't do anything here, but instead as a by-product > of restoring the ITS tables. What goes wrong if you use the > KVM_DEV_ARM_ITS_RESTORE_TABLE backend instead? There is an issue if we do it in the restoring of the ITS tables: the transferring of the pending state needs the irq to be marked as hw before, which is done by the pass-through device, but the configuring of the forwarding path of the VLPI depends on the restoring of the vgic first... It is a circular dependency. > >> Another possible solution is to add a new dedicated interface to QEMU >> to transfer >> these pending states to HW in GIC VM state change handler corresponding to >> save_pending_tables? > > Userspace has no way to know we use GICv4, and I intend to keep it > completely out of the loop. The API is already pretty tortuous, and > I really don't want to add any extra complexity to it. > > Thanks, > >         M. From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.3 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_SANE_1 autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0AB07C64E7A for ; Tue, 24 Nov 2020 14:49:22 +0000 (UTC) Received: from mm01.cs.columbia.edu (mm01.cs.columbia.edu [128.59.11.253]) by mail.kernel.org (Postfix) with ESMTP id 436DA20757 for ; Tue, 24 Nov 2020 14:49:21 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 436DA20757 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=huawei.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=kvmarm-bounces@lists.cs.columbia.edu Received: from localhost (localhost [127.0.0.1]) by mm01.cs.columbia.edu (Postfix) with ESMTP id C59284BDB4; Tue, 24 Nov 2020 09:49:20 -0500 (EST) X-Virus-Scanned: at lists.cs.columbia.edu Received: from mm01.cs.columbia.edu ([127.0.0.1]) by localhost (mm01.cs.columbia.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id q5PGLlJbuWNZ; Tue, 24 Nov 2020 09:49:19 -0500 (EST) Received: from mm01.cs.columbia.edu (localhost [127.0.0.1]) by mm01.cs.columbia.edu (Postfix) with ESMTP id 7A4624BDB0; Tue, 24 Nov 2020 09:49:15 -0500 (EST) Received: from localhost (localhost [127.0.0.1]) by mm01.cs.columbia.edu (Postfix) with ESMTP id 5A8F54BCC7 for ; Tue, 24 Nov 2020 08:12:23 -0500 (EST) X-Virus-Scanned: at lists.cs.columbia.edu Received: from mm01.cs.columbia.edu ([127.0.0.1]) by localhost (mm01.cs.columbia.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 7AQ9k83eX-ja for ; Tue, 24 Nov 2020 08:12:21 -0500 (EST) Received: from szxga05-in.huawei.com (szxga05-in.huawei.com [45.249.212.191]) by mm01.cs.columbia.edu (Postfix) with ESMTPS id 1BC004BBE5 for ; Tue, 24 Nov 2020 08:12:21 -0500 (EST) Received: from DGGEMS404-HUB.china.huawei.com (unknown [172.30.72.59]) by szxga05-in.huawei.com (SkyGuard) with ESMTP id 4CgPYk74vlzhfq2; Tue, 24 Nov 2020 21:11:54 +0800 (CST) Received: from [10.174.187.74] (10.174.187.74) by DGGEMS404-HUB.china.huawei.com (10.3.19.204) with Microsoft SMTP Server id 14.3.487.0; Tue, 24 Nov 2020 21:12:04 +0800 Subject: Re: [RFC PATCH v1 3/4] KVM: arm64: GICv4.1: Restore VLPI's pending state to physical side To: Marc Zyngier References: <20201123065410.1915-1-lushenming@huawei.com> <20201123065410.1915-4-lushenming@huawei.com> <5c724bb83730cdd5dcf7add9a812fa92@kernel.org> <2d2bcae4f871d239a1af50362f5c11a4@kernel.org> From: Shenming Lu Message-ID: <49610291-cf57-ff78-d0ac-063af24efbb4@huawei.com> Date: Tue, 24 Nov 2020 21:12:04 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.2.2 MIME-Version: 1.0 In-Reply-To: <2d2bcae4f871d239a1af50362f5c11a4@kernel.org> Content-Language: en-US X-Originating-IP: [10.174.187.74] X-CFilter-Loop: Reflected X-Mailman-Approved-At: Tue, 24 Nov 2020 09:49:14 -0500 Cc: Neo Jia , kvm@vger.kernel.org, Cornelia Huck , linux-kernel@vger.kernel.org, Kirti Wankhede , Alex Williamson , kvmarm@lists.cs.columbia.edu, linux-arm-kernel@lists.infradead.org X-BeenThere: kvmarm@lists.cs.columbia.edu X-Mailman-Version: 2.1.14 Precedence: list List-Id: Where KVM/ARM decisions are made List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: kvmarm-bounces@lists.cs.columbia.edu Sender: kvmarm-bounces@lists.cs.columbia.edu T24gMjAyMC8xMS8yNCAxNjo0NCwgTWFyYyBaeW5naWVyIHdyb3RlOgo+IE9uIDIwMjAtMTEtMjQg MDg6MTAsIFNoZW5taW5nIEx1IHdyb3RlOgo+PiBPbiAyMDIwLzExLzIzIDE3OjI3LCBNYXJjIFp5 bmdpZXIgd3JvdGU6Cj4+PiBPbiAyMDIwLTExLTIzIDA2OjU0LCBTaGVubWluZyBMdSB3cm90ZToK Pj4+PiBGcm9tOiBaZW5naHVpIFl1IDx5dXplbmdodWlAaHVhd2VpLmNvbT4KPj4+Pgo+Pj4+IFdo ZW4gc2V0dGluZyB0aGUgZm9yd2FyZGluZyBwYXRoIG9mIGEgVkxQSSwgaXQgaXMgbW9yZSBjb25z aXN0ZW50IHRvCj4+Pgo+Pj4gSSdtIG5vdCBzdXJlIGl0IGlzIG1vcmUgY29uc2lzdGVudC4gSXQg aXMgYSAqbmV3KiBiZWhhdmlvdXIsIGJlY2F1c2UgaXQgb25seQo+Pj4gbWF0dGVycyBmb3IgbWln cmF0aW9uLCB3aGljaCBoYXMgYmVlbiBzbyBmYXIgdW5zdXBwb3J0ZWQuCj4+Cj4+IEFscmlnaHQs IGNvbnNpc3RlbnQgbWF5IG5vdCBiZSBhY2N1cmF0ZS4uLgo+PiBCdXQgSSBoYXZlIGRvdWJ0IHRo YXQgd2hldGhlciB0aGVyZSBpcyByZWFsbHkgbm8gbmVlZCB0byB0cmFuc2ZlciB0aGUKPj4gcGVu ZGluZyBzdGF0ZXMKPj4gZnJvbSBrdm0ndmdpYyB0byBWUFQgaW4gc2V0X2ZvcndhcmRpbmcgcmVn YXJkbGVzcyBvZiBtaWdyYXRpb24sIGFuZCB0aGUgc2ltaWxhcgo+PiBmb3IgdW5zZXRfZm9yd2Fy ZGluZy4KPiAKPiBJZiB5b3UgaGF2ZSB0byB0cmFuc2ZlciB0aGF0IHN0YXRlIG91dHNpZGUgb2Yg dGhlIGEgc2F2ZS9yZXN0b3JlLCBpdCBtZWFucyB0aGF0Cj4geW91IGhhdmUgbWlzc2VkIHRoZSBw cm9ncmFtbWluZyBvZiB0aGUgUENJIGVuZHBvaW50LiBUaGlzIGlzIGFuIGVzdGFibGlzaGVkCj4g cmVzdHJpY3Rpb24gdGhhdCB0aGUgTVNJIHByb2dyYW1taW5nIG11c3Qgb2NjdXIgKmFmdGVyKiB0 aGUgdHJhbnNsYXRpb24gaGFzCj4gYmVlbiBlc3RhYmxpc2hlZCB1c2luZyBNQVBJL01BUFRJIChz ZWUgdGhlIGxhcmdlIGNvbW1lbnQgYXQgdGhlIGJlZ2lubmluZyBvZgo+IHZnaWMtdjQuYykuCj4g Cj4gSWYgeW91IHdhbnQgdG8gcmV2aXNpdCB0aGlzLCBmYWlyIGVub3VnaC4gQnV0IHlvdSB3aWxs IG5lZWQgYSBsb3QgbW9yZSB0aGFuCj4ganVzdCBvcHBvcnR1bmlzdGljYWxseSB0cmFuc2ZlciB0 aGUgcGVuZGluZyBzdGF0ZS4KClRoYW5rcywgSSB3aWxsIGxvb2sgYXQgd2hhdCB5b3UgbWVudGlv bmVkLgoKPiAKPj4KPj4+Cj4+Pj4gYWxzbyB0cmFuc2ZlciB0aGUgcGVuZGluZyBzdGF0ZSBmcm9t IGlycS0+cGVuZGluZ19sYXRjaCB0byBWUFQgKGVzcGVjaWFsbHkKPj4+PiBpbiBtaWdyYXRpb24s IHRoZSBwZW5kaW5nIHN0YXRlcyBvZiBWTFBJcyBhcmUgcmVzdG9yZWQgaW50byBrdm3igJlzIHZn aWMKPj4+PiBmaXJzdCkuIEFuZCB3ZSBjdXJyZW50bHkgc2VuZCAiSU5UK1ZTWU5DIiB0byB0cmln Z2VyIGEgVkxQSSB0byBwZW5kaW5nLgo+Pj4+Cj4+Pj4gU2lnbmVkLW9mZi1ieTogWmVuZ2h1aSBZ dSA8eXV6ZW5naHVpQGh1YXdlaS5jb20+Cj4+Pj4gU2lnbmVkLW9mZi1ieTogU2hlbm1pbmcgTHUg PGx1c2hlbm1pbmdAaHVhd2VpLmNvbT4KPj4+PiAtLS0KPj4+PiDCoGFyY2gvYXJtNjQva3ZtL3Zn aWMvdmdpYy12NC5jIHwgMTIgKysrKysrKysrKysrCj4+Pj4gwqAxIGZpbGUgY2hhbmdlZCwgMTIg aW5zZXJ0aW9ucygrKQo+Pj4+Cj4+Pj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtNjQva3ZtL3ZnaWMv dmdpYy12NC5jIGIvYXJjaC9hcm02NC9rdm0vdmdpYy92Z2ljLXY0LmMKPj4+PiBpbmRleCBiNWZh NzNjOWZkMzUuLmNjM2FiOWNlYTE4MiAxMDA2NDQKPj4+PiAtLS0gYS9hcmNoL2FybTY0L2t2bS92 Z2ljL3ZnaWMtdjQuYwo+Pj4+ICsrKyBiL2FyY2gvYXJtNjQva3ZtL3ZnaWMvdmdpYy12NC5jCj4+ Pj4gQEAgLTQxOCw2ICs0MTgsMTggQEAgaW50IGt2bV92Z2ljX3Y0X3NldF9mb3J3YXJkaW5nKHN0 cnVjdCBrdm0gKmt2bSwgaW50IHZpcnEsCj4+Pj4gwqDCoMKgwqAgaXJxLT5ob3N0X2lyccKgwqDC oCA9IHZpcnE7Cj4+Pj4gwqDCoMKgwqAgYXRvbWljX2luYygmbWFwLnZwZS0+dmxwaV9jb3VudCk7 Cj4+Pj4KPj4+PiArwqDCoMKgIC8qIFRyYW5zZmVyIHBlbmRpbmcgc3RhdGUgKi8KPj4+PiArwqDC oMKgIHJldCA9IGlycV9zZXRfaXJxY2hpcF9zdGF0ZShpcnEtPmhvc3RfaXJxLAo+Pj4+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBJUlFDSElQX1NUQVRFX1BFTkRJTkcs Cj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlycS0+cGVuZGlu Z19sYXRjaCk7Cj4+Pj4gK8KgwqDCoCBXQVJOX1JBVEVMSU1JVChyZXQsICJJUlEgJWQiLCBpcnEt Pmhvc3RfaXJxKTsKPj4+PiArCj4+Pj4gK8KgwqDCoCAvKgo+Pj4+ICvCoMKgwqDCoCAqIExldCBp dCBiZSBwcnVuZWQgZnJvbSBhcF9saXN0IGxhdGVyIGFuZCBkb24ndCBib3RoZXIKPj4+PiArwqDC oMKgwqAgKiB0aGUgTGlzdCBSZWdpc3Rlci4KPj4+PiArwqDCoMKgwqAgKi8KPj4+PiArwqDCoMKg IGlycS0+cGVuZGluZ19sYXRjaCA9IGZhbHNlOwo+Pj4KPj4+IEl0IG9jY3VycyB0byBtZSB0aGF0 IGNhbGxpbmcgaW50byBpcnFfc2V0X2lycWNoaXBfc3RhdGUoKSBmb3IgYSBsYXJnZQo+Pj4gbnVt YmVyIG9mIGludGVycnVwdHMgY2FuIHRha2UgYSBzaWduaWZpY2FudCBhbW91bnQgb2YgdGltZS4g SXQgaXMgYWxzbwo+Pj4gb2RkIHRoYXQgeW91IGR1bXAgdGhlIFZQVCB3aXRoIHRoZSBWUEUgdW5t YXBwZWQsIGJ1dCByZWx5IG9uIHRoZSBWUEUKPj4+IGJlaW5nIG1hcHBlZCBmb3IgdGhlIG9wcG9z aXRlIG9wZXJhdGlvbi4KPj4+Cj4+PiBTaG91bGRuJ3QgdGhlc2UgYmUgc3ltbWV0cmljLCBhbGwg cGVyZm9ybWVkIHdoaWxlIHRoZSBWUEUgaXMgdW5tYXBwZWQ/Cj4+PiBJdCB3b3VsZCBhbHNvIHNh dmUgYSBsb3Qgb2YgSVRTIHRyYWZmaWMuCj4+Pgo+Pgo+PiBNeSB0aG91Z2h0IHdhcyB0byB1c2Ug dGhlIGV4aXN0aW5nIGludGVyZmFjZSBkaXJlY3RseSB3aXRob3V0IHVubWFwcGluZy4uLgo+Pgo+ PiBJZiB5b3Ugd2FudCB0byB1bm1hcCB0aGUgdlBFIGFuZCBwb2tlIHRoZSBWUFQgaGVyZSwgYXMg SSBzYWlkIGluIHRoZSBjb3Zlcgo+PiBsZXR0ZXIsIHNldC91bnNldF9mb3J3YXJkaW5nIG1pZ2h0 IGFsc28gYmUgY2FsbGVkIHdoZW4gYWxsIGRldmljZXMgYXJlIHJ1bm5pbmcKPj4gYXQgbm9ybWFs IHJ1biB0aW1lLCBpbiB3aGljaCBjYXNlIHRoZSB1bm1hcHBpbmcgb2YgdGhlIHZQRSBpcyBub3Qg YWxsb3dlZC4uLgo+IAo+IE5vLCBJJ20gc3VnZ2VzdGluZyB0aGF0IHlvdSBkb24ndCBkbyBhbnl0 aGluZyBoZXJlLCBidXQgaW5zdGVhZCBhcyBhIGJ5LXByb2R1Y3QKPiBvZiByZXN0b3JpbmcgdGhl IElUUyB0YWJsZXMuIFdoYXQgZ29lcyB3cm9uZyBpZiB5b3UgdXNlIHRoZQo+IEtWTV9ERVZfQVJN X0lUU19SRVNUT1JFX1RBQkxFIGJhY2tlbmQgaW5zdGVhZD8KClRoZXJlIGlzIGFuIGlzc3VlIGlm IHdlIGRvIGl0IGluIHRoZSByZXN0b3Jpbmcgb2YgdGhlIElUUyB0YWJsZXM6IHRoZSB0cmFuc2Zl cnJpbmcKb2YgdGhlIHBlbmRpbmcgc3RhdGUgbmVlZHMgdGhlIGlycSB0byBiZSBtYXJrZWQgYXMg aHcgYmVmb3JlLCB3aGljaCBpcyBkb25lIGJ5IHRoZQpwYXNzLXRocm91Z2ggZGV2aWNlLCBidXQg dGhlIGNvbmZpZ3VyaW5nIG9mIHRoZSBmb3J3YXJkaW5nIHBhdGggb2YgdGhlIFZMUEkgZGVwZW5k cwpvbiB0aGUgcmVzdG9yaW5nIG9mIHRoZSB2Z2ljIGZpcnN0Li4uIEl0IGlzIGEgY2lyY3VsYXIg ZGVwZW5kZW5jeS4KCj4gCj4+IEFub3RoZXIgcG9zc2libGUgc29sdXRpb24gaXMgdG8gYWRkIGEg bmV3IGRlZGljYXRlZCBpbnRlcmZhY2UgdG8gUUVNVQo+PiB0byB0cmFuc2Zlcgo+PiB0aGVzZSBw ZW5kaW5nIHN0YXRlcyB0byBIVyBpbiBHSUMgVk0gc3RhdGUgY2hhbmdlIGhhbmRsZXIgY29ycmVz cG9uZGluZyB0bwo+PiBzYXZlX3BlbmRpbmdfdGFibGVzPwo+IAo+IFVzZXJzcGFjZSBoYXMgbm8g d2F5IHRvIGtub3cgd2UgdXNlIEdJQ3Y0LCBhbmQgSSBpbnRlbmQgdG8ga2VlcCBpdAo+IGNvbXBs ZXRlbHkgb3V0IG9mIHRoZSBsb29wLiBUaGUgQVBJIGlzIGFscmVhZHkgcHJldHR5IHRvcnR1b3Vz LCBhbmQKPiBJIHJlYWxseSBkb24ndCB3YW50IHRvIGFkZCBhbnkgZXh0cmEgY29tcGxleGl0eSB0 byBpdC4KPiAKPiBUaGFua3MsCj4gCj4gwqDCoMKgwqDCoMKgwqAgTS4KX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Ka3ZtYXJtIG1haWxpbmcgbGlzdAprdm1h cm1AbGlzdHMuY3MuY29sdW1iaWEuZWR1Cmh0dHBzOi8vbGlzdHMuY3MuY29sdW1iaWEuZWR1L21h aWxtYW4vbGlzdGluZm8va3ZtYXJtCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.3 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7C220C2D0E4 for ; Tue, 24 Nov 2020 13:13:50 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 0D3A7206F9 for ; Tue, 24 Nov 2020 13:13:49 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="d0EGbnDK" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 0D3A7206F9 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=huawei.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:From: References:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=1iTGTE7SZPLZ/SDcpprPSU0Sba+luHUsRLRDyuwD8Uk=; b=d0EGbnDKrssvO+iCj053Dz1Pb KApNJwJ7hbtX1FBzYWDk3hy3d9ETp7JAauvMkBxgTcxMr5GSTp8aPTEY1HT1Pnw7H15GdzlfLtOcM 2Cw4CEqsw91Hp7ouDmdU0iayH7HMjH2Z+pLJFP5WGVL6g/tYZsQ+dOyIvIOD0G2YiScXynKmWW+17 YQkiPk5SxFcCVFqFCvWD9b6mukpF6isyOpHMy8hnOoZb/nWh+8qxJLWhZRnTfefWiQ6J30B9xopy6 0ZSv3D5ZpMNDvfzJHkN7rk+pIdgB26kmxc46FN/c7s2IanSP5rKTrDz99Li6ZWPu7ISB1kkKb/BY5 J36REXfEA==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1khY7V-0005rM-Be; Tue, 24 Nov 2020 13:12:33 +0000 Received: from szxga05-in.huawei.com ([45.249.212.191]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1khY7S-0005pR-42 for linux-arm-kernel@lists.infradead.org; Tue, 24 Nov 2020 13:12:32 +0000 Received: from DGGEMS404-HUB.china.huawei.com (unknown [172.30.72.59]) by szxga05-in.huawei.com (SkyGuard) with ESMTP id 4CgPYk74vlzhfq2; Tue, 24 Nov 2020 21:11:54 +0800 (CST) Received: from [10.174.187.74] (10.174.187.74) by DGGEMS404-HUB.china.huawei.com (10.3.19.204) with Microsoft SMTP Server id 14.3.487.0; Tue, 24 Nov 2020 21:12:04 +0800 Subject: Re: [RFC PATCH v1 3/4] KVM: arm64: GICv4.1: Restore VLPI's pending state to physical side To: Marc Zyngier References: <20201123065410.1915-1-lushenming@huawei.com> <20201123065410.1915-4-lushenming@huawei.com> <5c724bb83730cdd5dcf7add9a812fa92@kernel.org> <2d2bcae4f871d239a1af50362f5c11a4@kernel.org> From: Shenming Lu Message-ID: <49610291-cf57-ff78-d0ac-063af24efbb4@huawei.com> Date: Tue, 24 Nov 2020 21:12:04 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.2.2 MIME-Version: 1.0 In-Reply-To: <2d2bcae4f871d239a1af50362f5c11a4@kernel.org> Content-Language: en-US X-Originating-IP: [10.174.187.74] X-CFilter-Loop: Reflected X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20201124_081231_182348_696A9DDB X-CRM114-Status: GOOD ( 24.26 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Neo Jia , kvm@vger.kernel.org, Suzuki K Poulose , Cornelia Huck , linux-kernel@vger.kernel.org, Kirti Wankhede , Christoffer Dall , Eric Auger , Alex Williamson , James Morse , Julien Thierry , yuzenghui@huawei.com, wanghaibin.wang@huawei.com, kvmarm@lists.cs.columbia.edu, linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gMjAyMC8xMS8yNCAxNjo0NCwgTWFyYyBaeW5naWVyIHdyb3RlOgo+IE9uIDIwMjAtMTEtMjQg MDg6MTAsIFNoZW5taW5nIEx1IHdyb3RlOgo+PiBPbiAyMDIwLzExLzIzIDE3OjI3LCBNYXJjIFp5 bmdpZXIgd3JvdGU6Cj4+PiBPbiAyMDIwLTExLTIzIDA2OjU0LCBTaGVubWluZyBMdSB3cm90ZToK Pj4+PiBGcm9tOiBaZW5naHVpIFl1IDx5dXplbmdodWlAaHVhd2VpLmNvbT4KPj4+Pgo+Pj4+IFdo ZW4gc2V0dGluZyB0aGUgZm9yd2FyZGluZyBwYXRoIG9mIGEgVkxQSSwgaXQgaXMgbW9yZSBjb25z aXN0ZW50IHRvCj4+Pgo+Pj4gSSdtIG5vdCBzdXJlIGl0IGlzIG1vcmUgY29uc2lzdGVudC4gSXQg aXMgYSAqbmV3KiBiZWhhdmlvdXIsIGJlY2F1c2UgaXQgb25seQo+Pj4gbWF0dGVycyBmb3IgbWln cmF0aW9uLCB3aGljaCBoYXMgYmVlbiBzbyBmYXIgdW5zdXBwb3J0ZWQuCj4+Cj4+IEFscmlnaHQs IGNvbnNpc3RlbnQgbWF5IG5vdCBiZSBhY2N1cmF0ZS4uLgo+PiBCdXQgSSBoYXZlIGRvdWJ0IHRo YXQgd2hldGhlciB0aGVyZSBpcyByZWFsbHkgbm8gbmVlZCB0byB0cmFuc2ZlciB0aGUKPj4gcGVu ZGluZyBzdGF0ZXMKPj4gZnJvbSBrdm0ndmdpYyB0byBWUFQgaW4gc2V0X2ZvcndhcmRpbmcgcmVn YXJkbGVzcyBvZiBtaWdyYXRpb24sIGFuZCB0aGUgc2ltaWxhcgo+PiBmb3IgdW5zZXRfZm9yd2Fy ZGluZy4KPiAKPiBJZiB5b3UgaGF2ZSB0byB0cmFuc2ZlciB0aGF0IHN0YXRlIG91dHNpZGUgb2Yg dGhlIGEgc2F2ZS9yZXN0b3JlLCBpdCBtZWFucyB0aGF0Cj4geW91IGhhdmUgbWlzc2VkIHRoZSBw cm9ncmFtbWluZyBvZiB0aGUgUENJIGVuZHBvaW50LiBUaGlzIGlzIGFuIGVzdGFibGlzaGVkCj4g cmVzdHJpY3Rpb24gdGhhdCB0aGUgTVNJIHByb2dyYW1taW5nIG11c3Qgb2NjdXIgKmFmdGVyKiB0 aGUgdHJhbnNsYXRpb24gaGFzCj4gYmVlbiBlc3RhYmxpc2hlZCB1c2luZyBNQVBJL01BUFRJIChz ZWUgdGhlIGxhcmdlIGNvbW1lbnQgYXQgdGhlIGJlZ2lubmluZyBvZgo+IHZnaWMtdjQuYykuCj4g Cj4gSWYgeW91IHdhbnQgdG8gcmV2aXNpdCB0aGlzLCBmYWlyIGVub3VnaC4gQnV0IHlvdSB3aWxs IG5lZWQgYSBsb3QgbW9yZSB0aGFuCj4ganVzdCBvcHBvcnR1bmlzdGljYWxseSB0cmFuc2ZlciB0 aGUgcGVuZGluZyBzdGF0ZS4KClRoYW5rcywgSSB3aWxsIGxvb2sgYXQgd2hhdCB5b3UgbWVudGlv bmVkLgoKPiAKPj4KPj4+Cj4+Pj4gYWxzbyB0cmFuc2ZlciB0aGUgcGVuZGluZyBzdGF0ZSBmcm9t IGlycS0+cGVuZGluZ19sYXRjaCB0byBWUFQgKGVzcGVjaWFsbHkKPj4+PiBpbiBtaWdyYXRpb24s IHRoZSBwZW5kaW5nIHN0YXRlcyBvZiBWTFBJcyBhcmUgcmVzdG9yZWQgaW50byBrdm3igJlzIHZn aWMKPj4+PiBmaXJzdCkuIEFuZCB3ZSBjdXJyZW50bHkgc2VuZCAiSU5UK1ZTWU5DIiB0byB0cmln Z2VyIGEgVkxQSSB0byBwZW5kaW5nLgo+Pj4+Cj4+Pj4gU2lnbmVkLW9mZi1ieTogWmVuZ2h1aSBZ dSA8eXV6ZW5naHVpQGh1YXdlaS5jb20+Cj4+Pj4gU2lnbmVkLW9mZi1ieTogU2hlbm1pbmcgTHUg PGx1c2hlbm1pbmdAaHVhd2VpLmNvbT4KPj4+PiAtLS0KPj4+PiDCoGFyY2gvYXJtNjQva3ZtL3Zn aWMvdmdpYy12NC5jIHwgMTIgKysrKysrKysrKysrCj4+Pj4gwqAxIGZpbGUgY2hhbmdlZCwgMTIg aW5zZXJ0aW9ucygrKQo+Pj4+Cj4+Pj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtNjQva3ZtL3ZnaWMv dmdpYy12NC5jIGIvYXJjaC9hcm02NC9rdm0vdmdpYy92Z2ljLXY0LmMKPj4+PiBpbmRleCBiNWZh NzNjOWZkMzUuLmNjM2FiOWNlYTE4MiAxMDA2NDQKPj4+PiAtLS0gYS9hcmNoL2FybTY0L2t2bS92 Z2ljL3ZnaWMtdjQuYwo+Pj4+ICsrKyBiL2FyY2gvYXJtNjQva3ZtL3ZnaWMvdmdpYy12NC5jCj4+ Pj4gQEAgLTQxOCw2ICs0MTgsMTggQEAgaW50IGt2bV92Z2ljX3Y0X3NldF9mb3J3YXJkaW5nKHN0 cnVjdCBrdm0gKmt2bSwgaW50IHZpcnEsCj4+Pj4gwqDCoMKgwqAgaXJxLT5ob3N0X2lyccKgwqDC oCA9IHZpcnE7Cj4+Pj4gwqDCoMKgwqAgYXRvbWljX2luYygmbWFwLnZwZS0+dmxwaV9jb3VudCk7 Cj4+Pj4KPj4+PiArwqDCoMKgIC8qIFRyYW5zZmVyIHBlbmRpbmcgc3RhdGUgKi8KPj4+PiArwqDC oMKgIHJldCA9IGlycV9zZXRfaXJxY2hpcF9zdGF0ZShpcnEtPmhvc3RfaXJxLAo+Pj4+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBJUlFDSElQX1NUQVRFX1BFTkRJTkcs Cj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlycS0+cGVuZGlu Z19sYXRjaCk7Cj4+Pj4gK8KgwqDCoCBXQVJOX1JBVEVMSU1JVChyZXQsICJJUlEgJWQiLCBpcnEt Pmhvc3RfaXJxKTsKPj4+PiArCj4+Pj4gK8KgwqDCoCAvKgo+Pj4+ICvCoMKgwqDCoCAqIExldCBp dCBiZSBwcnVuZWQgZnJvbSBhcF9saXN0IGxhdGVyIGFuZCBkb24ndCBib3RoZXIKPj4+PiArwqDC oMKgwqAgKiB0aGUgTGlzdCBSZWdpc3Rlci4KPj4+PiArwqDCoMKgwqAgKi8KPj4+PiArwqDCoMKg IGlycS0+cGVuZGluZ19sYXRjaCA9IGZhbHNlOwo+Pj4KPj4+IEl0IG9jY3VycyB0byBtZSB0aGF0 IGNhbGxpbmcgaW50byBpcnFfc2V0X2lycWNoaXBfc3RhdGUoKSBmb3IgYSBsYXJnZQo+Pj4gbnVt YmVyIG9mIGludGVycnVwdHMgY2FuIHRha2UgYSBzaWduaWZpY2FudCBhbW91bnQgb2YgdGltZS4g SXQgaXMgYWxzbwo+Pj4gb2RkIHRoYXQgeW91IGR1bXAgdGhlIFZQVCB3aXRoIHRoZSBWUEUgdW5t YXBwZWQsIGJ1dCByZWx5IG9uIHRoZSBWUEUKPj4+IGJlaW5nIG1hcHBlZCBmb3IgdGhlIG9wcG9z aXRlIG9wZXJhdGlvbi4KPj4+Cj4+PiBTaG91bGRuJ3QgdGhlc2UgYmUgc3ltbWV0cmljLCBhbGwg cGVyZm9ybWVkIHdoaWxlIHRoZSBWUEUgaXMgdW5tYXBwZWQ/Cj4+PiBJdCB3b3VsZCBhbHNvIHNh dmUgYSBsb3Qgb2YgSVRTIHRyYWZmaWMuCj4+Pgo+Pgo+PiBNeSB0aG91Z2h0IHdhcyB0byB1c2Ug dGhlIGV4aXN0aW5nIGludGVyZmFjZSBkaXJlY3RseSB3aXRob3V0IHVubWFwcGluZy4uLgo+Pgo+ PiBJZiB5b3Ugd2FudCB0byB1bm1hcCB0aGUgdlBFIGFuZCBwb2tlIHRoZSBWUFQgaGVyZSwgYXMg SSBzYWlkIGluIHRoZSBjb3Zlcgo+PiBsZXR0ZXIsIHNldC91bnNldF9mb3J3YXJkaW5nIG1pZ2h0 IGFsc28gYmUgY2FsbGVkIHdoZW4gYWxsIGRldmljZXMgYXJlIHJ1bm5pbmcKPj4gYXQgbm9ybWFs IHJ1biB0aW1lLCBpbiB3aGljaCBjYXNlIHRoZSB1bm1hcHBpbmcgb2YgdGhlIHZQRSBpcyBub3Qg YWxsb3dlZC4uLgo+IAo+IE5vLCBJJ20gc3VnZ2VzdGluZyB0aGF0IHlvdSBkb24ndCBkbyBhbnl0 aGluZyBoZXJlLCBidXQgaW5zdGVhZCBhcyBhIGJ5LXByb2R1Y3QKPiBvZiByZXN0b3JpbmcgdGhl IElUUyB0YWJsZXMuIFdoYXQgZ29lcyB3cm9uZyBpZiB5b3UgdXNlIHRoZQo+IEtWTV9ERVZfQVJN X0lUU19SRVNUT1JFX1RBQkxFIGJhY2tlbmQgaW5zdGVhZD8KClRoZXJlIGlzIGFuIGlzc3VlIGlm IHdlIGRvIGl0IGluIHRoZSByZXN0b3Jpbmcgb2YgdGhlIElUUyB0YWJsZXM6IHRoZSB0cmFuc2Zl cnJpbmcKb2YgdGhlIHBlbmRpbmcgc3RhdGUgbmVlZHMgdGhlIGlycSB0byBiZSBtYXJrZWQgYXMg aHcgYmVmb3JlLCB3aGljaCBpcyBkb25lIGJ5IHRoZQpwYXNzLXRocm91Z2ggZGV2aWNlLCBidXQg dGhlIGNvbmZpZ3VyaW5nIG9mIHRoZSBmb3J3YXJkaW5nIHBhdGggb2YgdGhlIFZMUEkgZGVwZW5k cwpvbiB0aGUgcmVzdG9yaW5nIG9mIHRoZSB2Z2ljIGZpcnN0Li4uIEl0IGlzIGEgY2lyY3VsYXIg ZGVwZW5kZW5jeS4KCj4gCj4+IEFub3RoZXIgcG9zc2libGUgc29sdXRpb24gaXMgdG8gYWRkIGEg bmV3IGRlZGljYXRlZCBpbnRlcmZhY2UgdG8gUUVNVQo+PiB0byB0cmFuc2Zlcgo+PiB0aGVzZSBw ZW5kaW5nIHN0YXRlcyB0byBIVyBpbiBHSUMgVk0gc3RhdGUgY2hhbmdlIGhhbmRsZXIgY29ycmVz cG9uZGluZyB0bwo+PiBzYXZlX3BlbmRpbmdfdGFibGVzPwo+IAo+IFVzZXJzcGFjZSBoYXMgbm8g d2F5IHRvIGtub3cgd2UgdXNlIEdJQ3Y0LCBhbmQgSSBpbnRlbmQgdG8ga2VlcCBpdAo+IGNvbXBs ZXRlbHkgb3V0IG9mIHRoZSBsb29wLiBUaGUgQVBJIGlzIGFscmVhZHkgcHJldHR5IHRvcnR1b3Vz LCBhbmQKPiBJIHJlYWxseSBkb24ndCB3YW50IHRvIGFkZCBhbnkgZXh0cmEgY29tcGxleGl0eSB0 byBpdC4KPiAKPiBUaGFua3MsCj4gCj4gwqDCoMKgwqDCoMKgwqAgTS4KCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGlu ZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMu aW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK