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=-14.0 required=3.0 tests=BAYES_00,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS 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 DF189C433DB for ; Tue, 5 Jan 2021 11:40:23 +0000 (UTC) Received: from mm01.cs.columbia.edu (mm01.cs.columbia.edu [128.59.11.253]) by mail.kernel.org (Postfix) with ESMTP id 38784229C7 for ; Tue, 5 Jan 2021 11:40:23 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 38784229C7 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org 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 7772B4B259; Tue, 5 Jan 2021 06:40:22 -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 Eur+C7TE-VPN; Tue, 5 Jan 2021 06:40:19 -0500 (EST) Received: from mm01.cs.columbia.edu (localhost [127.0.0.1]) by mm01.cs.columbia.edu (Postfix) with ESMTP id D263D4B262; Tue, 5 Jan 2021 06:40:19 -0500 (EST) Received: from localhost (localhost [127.0.0.1]) by mm01.cs.columbia.edu (Postfix) with ESMTP id C1A814B15A for ; Tue, 5 Jan 2021 06:40:18 -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 rg7G7+TwRWK2 for ; Tue, 5 Jan 2021 06:40:17 -0500 (EST) Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by mm01.cs.columbia.edu (Postfix) with ESMTPS id 857774B156 for ; Tue, 5 Jan 2021 06:40:17 -0500 (EST) Received: from disco-boy.misterjones.org (disco-boy.misterjones.org [51.254.78.96]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 017BB22286; Tue, 5 Jan 2021 11:40:16 +0000 (UTC) Received: from disco-boy.misterjones.org ([51.254.78.96] helo=www.loen.fr) by disco-boy.misterjones.org with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94) (envelope-from ) id 1kwkhB-005Q61-Lt; Tue, 05 Jan 2021 11:40:14 +0000 MIME-Version: 1.0 Date: Tue, 05 Jan 2021 11:40:13 +0000 From: Marc Zyngier To: Shenming Lu Subject: Re: [RFC PATCH v2 2/4] KVM: arm64: GICv4.1: Try to save hw pending state in save_pending_tables In-Reply-To: References: <20210104081613.100-1-lushenming@huawei.com> <20210104081613.100-3-lushenming@huawei.com> User-Agent: Roundcube Webmail/1.4.9 Message-ID: <6f09084b32e239176b3f9b4b00874a51@kernel.org> X-Sender: maz@kernel.org X-SA-Exim-Connect-IP: 51.254.78.96 X-SA-Exim-Rcpt-To: lushenming@huawei.com, eric.auger@redhat.com, will@kernel.org, linux-arm-kernel@lists.infradead.org, kvmarm@lists.cs.columbia.edu, kvm@vger.kernel.org, linux-kernel@vger.kernel.org, alex.williamson@redhat.com, cohuck@redhat.com, lorenzo.pieralisi@arm.com, wanghaibin.wang@huawei.com, yuzenghui@huawei.com X-SA-Exim-Mail-From: maz@kernel.org X-SA-Exim-Scanned: No (on disco-boy.misterjones.org); SAEximRunCond expanded to false Cc: Lorenzo Pieralisi , kvm@vger.kernel.org, Cornelia Huck , linux-kernel@vger.kernel.org, Alex Williamson , Will Deacon , 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-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: kvmarm-bounces@lists.cs.columbia.edu Sender: kvmarm-bounces@lists.cs.columbia.edu T24gMjAyMS0wMS0wNSAwOToxMywgTWFyYyBaeW5naWVyIHdyb3RlOgo+IE9uIDIwMjEtMDEtMDQg MDg6MTYsIFNoZW5taW5nIEx1IHdyb3RlOgo+PiBBZnRlciBwYXVzaW5nIGFsbCB2Q1BVcyBhbmQg ZGV2aWNlcyBjYXBhYmxlIG9mIGludGVycnVwdGluZywgaW4gb3JkZXIKPj4gdG8gc2F2ZSB0aGUg aW5mb3JtYXRpb24gb2YgYWxsIGludGVycnVwdHMsIGJlc2lkZXMgZmx1c2hpbmcgdGhlIAo+PiBw ZW5kaW5nCj4+IHN0YXRlcyBpbiBrdm3igJlzIHZnaWMsIHdlIGFsc28gdHJ5IHRvIGZsdXNoIHRo ZSBzdGF0ZXMgb2YgVkxQSXMgaW4gdGhlCj4+IHZpcnR1YWwgcGVuZGluZyB0YWJsZXMgaW50byBn dWVzdCBSQU0sIGJ1dCB3ZSBuZWVkIHRvIGhhdmUgR0lDdjQuMSBhbmQKPj4gc2FmZWx5IHVubWFw IHRoZSB2UEVzIGZpcnN0Lgo+PiAKPj4gU2lnbmVkLW9mZi1ieTogU2hlbm1pbmcgTHUgPGx1c2hl bm1pbmdAaHVhd2VpLmNvbT4KPj4gLS0tCj4+ICBhcmNoL2FybTY0L2t2bS92Z2ljL3ZnaWMtdjMu YyB8IDU4IAo+PiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLQo+PiAgMSBmaWxl IGNoYW5nZWQsIDUyIGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCj4+IAo+PiBkaWZmIC0t Z2l0IGEvYXJjaC9hcm02NC9rdm0vdmdpYy92Z2ljLXYzLmMgCj4+IGIvYXJjaC9hcm02NC9rdm0v dmdpYy92Z2ljLXYzLmMKPj4gaW5kZXggOWNkZjM5YTk0YTYzLi5hNThjOTQxMjdjYjAgMTAwNjQ0 Cj4+IC0tLSBhL2FyY2gvYXJtNjQva3ZtL3ZnaWMvdmdpYy12My5jCj4+ICsrKyBiL2FyY2gvYXJt NjQva3ZtL3ZnaWMvdmdpYy12My5jCj4+IEBAIC0xLDYgKzEsOCBAQAo+PiAgLy8gU1BEWC1MaWNl bnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQo+PiAKPj4gICNpbmNsdWRlIDxsaW51eC9pcnFj aGlwL2FybS1naWMtdjMuaD4KPj4gKyNpbmNsdWRlIDxsaW51eC9pcnEuaD4KPj4gKyNpbmNsdWRl IDxsaW51eC9pcnFkb21haW4uaD4KPj4gICNpbmNsdWRlIDxsaW51eC9rdm0uaD4KPj4gICNpbmNs dWRlIDxsaW51eC9rdm1faG9zdC5oPgo+PiAgI2luY2x1ZGUgPGt2bS9hcm1fdmdpYy5oPgo+PiBA QCAtMzU2LDYgKzM1OCwzOCBAQCBpbnQgdmdpY192M19scGlfc3luY19wZW5kaW5nX3N0YXR1cyhz dHJ1Y3Qga3ZtCj4+ICprdm0sIHN0cnVjdCB2Z2ljX2lycSAqaXJxKQo+PiAgCXJldHVybiAwOwo+ PiAgfQo+PiAKPj4gKy8qCj4+ICsgKiBUaGUgZGVhY3RpdmF0aW9uIG9mIHRoZSBkb29yYmVsbCBp bnRlcnJ1cHQgd2lsbCB0cmlnZ2VyIHRoZQo+PiArICogdW5tYXBwaW5nIG9mIHRoZSBhc3NvY2lh dGVkIHZQRS4KPj4gKyAqLwo+PiArc3RhdGljIHZvaWQgdW5tYXBfYWxsX3ZwZXMoc3RydWN0IHZn aWNfZGlzdCAqZGlzdCkKPj4gK3sKPj4gKwlzdHJ1Y3QgaXJxX2Rlc2MgKmRlc2M7Cj4+ICsJaW50 IGk7Cj4+ICsKPj4gKwlpZiAoIWt2bV92Z2ljX2dsb2JhbF9zdGF0ZS5oYXNfZ2ljdjRfMSkKPj4g KwkJcmV0dXJuOwo+PiArCj4+ICsJZm9yIChpID0gMDsgaSA8IGRpc3QtPml0c192bS5ucl92cGVz OyBpKyspIHsKPj4gKwkJZGVzYyA9IGlycV90b19kZXNjKGRpc3QtPml0c192bS52cGVzW2ldLT5p cnEpOwo+PiArCQlpcnFfZG9tYWluX2RlYWN0aXZhdGVfaXJxKGlycV9kZXNjX2dldF9pcnFfZGF0 YShkZXNjKSk7Cj4+ICsJfQo+PiArfQo+PiArCj4+ICtzdGF0aWMgdm9pZCBtYXBfYWxsX3ZwZXMo c3RydWN0IHZnaWNfZGlzdCAqZGlzdCkKPj4gK3sKPj4gKwlzdHJ1Y3QgaXJxX2Rlc2MgKmRlc2M7 Cj4+ICsJaW50IGk7Cj4+ICsKPj4gKwlpZiAoIWt2bV92Z2ljX2dsb2JhbF9zdGF0ZS5oYXNfZ2lj djRfMSkKPj4gKwkJcmV0dXJuOwo+PiArCj4+ICsJZm9yIChpID0gMDsgaSA8IGRpc3QtPml0c192 bS5ucl92cGVzOyBpKyspIHsKPj4gKwkJZGVzYyA9IGlycV90b19kZXNjKGRpc3QtPml0c192bS52 cGVzW2ldLT5pcnEpOwo+PiArCQlpcnFfZG9tYWluX2FjdGl2YXRlX2lycShpcnFfZGVzY19nZXRf aXJxX2RhdGEoZGVzYyksIGZhbHNlKTsKPj4gKwl9Cj4+ICt9Cj4+ICsKPj4gIC8qKgo+PiAgICog dmdpY192M19zYXZlX3BlbmRpbmdfdGFibGVzIC0gU2F2ZSB0aGUgcGVuZGluZyB0YWJsZXMgaW50 byBndWVzdCAKPj4gUkFNCj4+ICAgKiBrdm0gbG9jayBhbmQgYWxsIHZjcHUgbG9jayBtdXN0IGJl IGhlbGQKPj4gQEAgLTM2NSwxNCArMzk5LDE4IEBAIGludCB2Z2ljX3YzX3NhdmVfcGVuZGluZ190 YWJsZXMoc3RydWN0IGt2bSAqa3ZtKQo+PiAgCXN0cnVjdCB2Z2ljX2Rpc3QgKmRpc3QgPSAma3Zt LT5hcmNoLnZnaWM7Cj4+ICAJc3RydWN0IHZnaWNfaXJxICppcnE7Cj4+ICAJZ3BhX3QgbGFzdF9w dHIgPSB+KGdwYV90KTA7Cj4+IC0JaW50IHJldDsKPj4gKwlpbnQgcmV0ID0gMDsKPj4gIAl1OCB2 YWw7Cj4+IAo+PiArCS8qIEFzIGEgcHJlcGFyYXRpb24gZm9yIGdldHRpbmcgYW55IFZMUEkgc3Rh dGVzLiAqLwo+PiArCXVubWFwX2FsbF92cGVzKGRpc3QpOwo+IAo+IFdoYXQgaWYgdGhlIFZQRXMg YXJlIG5vdCBtYXBwZWQgeWV0PyBJcyBpdCBwb3NzaWJsZSB0byBzbmFwc2hvdCBhIFZNCj4gdGhh dCBoYXMgbm90IHJ1biBhdCBhbGw/CgpNb3JlIHF1ZXN0aW9uczogd2hhdCBoYXBwZW5zIHRvIHZT R0lzIHRoYXQgd2VyZSBtYXBwZWQgdG8gdGhlIFZQRXM/CkNhbiB0aGV5IHNhZmVseSBiZSByZXN0 YXJ0ZWQ/IFRoZSBzcGVjIGlzIG5vdCBzYXlpbmcgbXVjaCBvbiB0aGUgCnN1YmplY3QuCgpPbmNl IHRoZSB1bm1hcCBoYXMgdGFrZW4gcGxhY2UsIGl0IHdvbid0IGJlIHBvc3NpYmxlIHRvIHJlYWQg dGhlaXIgc3RhdGUKdmlhIEdJQ1JfVlNHSVJQRU5ELCBhbmQgb25seSB0aGUgbWVtb3J5IHN0YXRl IGNhbiBiZSB1c2VkLiBUaGlzIHByb2JhYmx5Cm5lZWRzIHRvIGJlIHRyYWNrZWQgYXMgd2VsbC4K ClRoYW5rcywKCiAgICAgICAgIE0uCi0tIApKYXp6IGlzIG5vdCBkZWFkLiBJdCBqdXN0IHNtZWxs cyBmdW5ueS4uLgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Xwprdm1hcm0gbWFpbGluZyBsaXN0Cmt2bWFybUBsaXN0cy5jcy5jb2x1bWJpYS5lZHUKaHR0cHM6 Ly9saXN0cy5jcy5jb2x1bWJpYS5lZHUvbWFpbG1hbi9saXN0aW5mby9rdm1hcm0K 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=-14.3 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,INCLUDES_CR_TRAILER,INCLUDES_PATCH,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS 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 A4CC6C433E0 for ; Tue, 5 Jan 2021 11:42:09 +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 363EF22286 for ; Tue, 5 Jan 2021 11:42:09 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 363EF22286 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org 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-Type: Content-Transfer-Encoding:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:Message-ID:References:In-Reply-To:Subject:To:From: Date:MIME-Version:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=Pml7LHue1rbmZdZ7uoXA/ZNE7Rn5xBsPgqnj235MYHQ=; b=NBA4A0kp42iivQf9e4HGEJOXr cwuZd/8qpsh6mQGWGF6HmaQZF3OZRvvmx2k9eVppd4CXHbRLm6ui4UbnLApK5XhLqMQ1dUy50f8JL fCVEfX4I58ORvN8DCJl5lhhenQ+CgTh7psv/hDRVm2jnZ/xU3vKQk75yA2w6qIb6kpahCm8AGeQ5r sqi7GPloxXN6UVfNf3PWuGyRe8Iit1QefbZFQKrpx87zvqdTiL/AK9RghAScYZc8yojuNBZ5o2UwK xLJsEVuTbD7X1yT/dcX9DnkekFhwfDYsWF9DEVMs8XW6wae8puJTN/F/1z46pPnMzc0USB8SbDK9K 3QECPvL9g==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kwkhH-00074o-DJ; Tue, 05 Jan 2021 11:40:19 +0000 Received: from mail.kernel.org ([198.145.29.99]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1kwkhF-00074E-2l for linux-arm-kernel@lists.infradead.org; Tue, 05 Jan 2021 11:40:18 +0000 Received: from disco-boy.misterjones.org (disco-boy.misterjones.org [51.254.78.96]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 017BB22286; Tue, 5 Jan 2021 11:40:16 +0000 (UTC) Received: from disco-boy.misterjones.org ([51.254.78.96] helo=www.loen.fr) by disco-boy.misterjones.org with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94) (envelope-from ) id 1kwkhB-005Q61-Lt; Tue, 05 Jan 2021 11:40:14 +0000 MIME-Version: 1.0 Date: Tue, 05 Jan 2021 11:40:13 +0000 From: Marc Zyngier To: Shenming Lu Subject: Re: [RFC PATCH v2 2/4] KVM: arm64: GICv4.1: Try to save hw pending state in save_pending_tables In-Reply-To: References: <20210104081613.100-1-lushenming@huawei.com> <20210104081613.100-3-lushenming@huawei.com> User-Agent: Roundcube Webmail/1.4.9 Message-ID: <6f09084b32e239176b3f9b4b00874a51@kernel.org> X-Sender: maz@kernel.org X-SA-Exim-Connect-IP: 51.254.78.96 X-SA-Exim-Rcpt-To: lushenming@huawei.com, eric.auger@redhat.com, will@kernel.org, linux-arm-kernel@lists.infradead.org, kvmarm@lists.cs.columbia.edu, kvm@vger.kernel.org, linux-kernel@vger.kernel.org, alex.williamson@redhat.com, cohuck@redhat.com, lorenzo.pieralisi@arm.com, wanghaibin.wang@huawei.com, yuzenghui@huawei.com X-SA-Exim-Mail-From: maz@kernel.org X-SA-Exim-Scanned: No (on disco-boy.misterjones.org); SAEximRunCond expanded to false X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210105_064017_307500_EDEEE163 X-CRM114-Status: GOOD ( 21.54 ) 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: Lorenzo Pieralisi , kvm@vger.kernel.org, Cornelia Huck , linux-kernel@vger.kernel.org, Eric Auger , Alex Williamson , yuzenghui@huawei.com, wanghaibin.wang@huawei.com, Will Deacon , kvmarm@lists.cs.columbia.edu, linux-arm-kernel@lists.infradead.org Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gMjAyMS0wMS0wNSAwOToxMywgTWFyYyBaeW5naWVyIHdyb3RlOgo+IE9uIDIwMjEtMDEtMDQg MDg6MTYsIFNoZW5taW5nIEx1IHdyb3RlOgo+PiBBZnRlciBwYXVzaW5nIGFsbCB2Q1BVcyBhbmQg ZGV2aWNlcyBjYXBhYmxlIG9mIGludGVycnVwdGluZywgaW4gb3JkZXIKPj4gdG8gc2F2ZSB0aGUg aW5mb3JtYXRpb24gb2YgYWxsIGludGVycnVwdHMsIGJlc2lkZXMgZmx1c2hpbmcgdGhlIAo+PiBw ZW5kaW5nCj4+IHN0YXRlcyBpbiBrdm3igJlzIHZnaWMsIHdlIGFsc28gdHJ5IHRvIGZsdXNoIHRo ZSBzdGF0ZXMgb2YgVkxQSXMgaW4gdGhlCj4+IHZpcnR1YWwgcGVuZGluZyB0YWJsZXMgaW50byBn dWVzdCBSQU0sIGJ1dCB3ZSBuZWVkIHRvIGhhdmUgR0lDdjQuMSBhbmQKPj4gc2FmZWx5IHVubWFw IHRoZSB2UEVzIGZpcnN0Lgo+PiAKPj4gU2lnbmVkLW9mZi1ieTogU2hlbm1pbmcgTHUgPGx1c2hl bm1pbmdAaHVhd2VpLmNvbT4KPj4gLS0tCj4+ICBhcmNoL2FybTY0L2t2bS92Z2ljL3ZnaWMtdjMu YyB8IDU4IAo+PiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLQo+PiAgMSBmaWxl IGNoYW5nZWQsIDUyIGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCj4+IAo+PiBkaWZmIC0t Z2l0IGEvYXJjaC9hcm02NC9rdm0vdmdpYy92Z2ljLXYzLmMgCj4+IGIvYXJjaC9hcm02NC9rdm0v dmdpYy92Z2ljLXYzLmMKPj4gaW5kZXggOWNkZjM5YTk0YTYzLi5hNThjOTQxMjdjYjAgMTAwNjQ0 Cj4+IC0tLSBhL2FyY2gvYXJtNjQva3ZtL3ZnaWMvdmdpYy12My5jCj4+ICsrKyBiL2FyY2gvYXJt NjQva3ZtL3ZnaWMvdmdpYy12My5jCj4+IEBAIC0xLDYgKzEsOCBAQAo+PiAgLy8gU1BEWC1MaWNl bnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQo+PiAKPj4gICNpbmNsdWRlIDxsaW51eC9pcnFj aGlwL2FybS1naWMtdjMuaD4KPj4gKyNpbmNsdWRlIDxsaW51eC9pcnEuaD4KPj4gKyNpbmNsdWRl IDxsaW51eC9pcnFkb21haW4uaD4KPj4gICNpbmNsdWRlIDxsaW51eC9rdm0uaD4KPj4gICNpbmNs dWRlIDxsaW51eC9rdm1faG9zdC5oPgo+PiAgI2luY2x1ZGUgPGt2bS9hcm1fdmdpYy5oPgo+PiBA QCAtMzU2LDYgKzM1OCwzOCBAQCBpbnQgdmdpY192M19scGlfc3luY19wZW5kaW5nX3N0YXR1cyhz dHJ1Y3Qga3ZtCj4+ICprdm0sIHN0cnVjdCB2Z2ljX2lycSAqaXJxKQo+PiAgCXJldHVybiAwOwo+ PiAgfQo+PiAKPj4gKy8qCj4+ICsgKiBUaGUgZGVhY3RpdmF0aW9uIG9mIHRoZSBkb29yYmVsbCBp bnRlcnJ1cHQgd2lsbCB0cmlnZ2VyIHRoZQo+PiArICogdW5tYXBwaW5nIG9mIHRoZSBhc3NvY2lh dGVkIHZQRS4KPj4gKyAqLwo+PiArc3RhdGljIHZvaWQgdW5tYXBfYWxsX3ZwZXMoc3RydWN0IHZn aWNfZGlzdCAqZGlzdCkKPj4gK3sKPj4gKwlzdHJ1Y3QgaXJxX2Rlc2MgKmRlc2M7Cj4+ICsJaW50 IGk7Cj4+ICsKPj4gKwlpZiAoIWt2bV92Z2ljX2dsb2JhbF9zdGF0ZS5oYXNfZ2ljdjRfMSkKPj4g KwkJcmV0dXJuOwo+PiArCj4+ICsJZm9yIChpID0gMDsgaSA8IGRpc3QtPml0c192bS5ucl92cGVz OyBpKyspIHsKPj4gKwkJZGVzYyA9IGlycV90b19kZXNjKGRpc3QtPml0c192bS52cGVzW2ldLT5p cnEpOwo+PiArCQlpcnFfZG9tYWluX2RlYWN0aXZhdGVfaXJxKGlycV9kZXNjX2dldF9pcnFfZGF0 YShkZXNjKSk7Cj4+ICsJfQo+PiArfQo+PiArCj4+ICtzdGF0aWMgdm9pZCBtYXBfYWxsX3ZwZXMo c3RydWN0IHZnaWNfZGlzdCAqZGlzdCkKPj4gK3sKPj4gKwlzdHJ1Y3QgaXJxX2Rlc2MgKmRlc2M7 Cj4+ICsJaW50IGk7Cj4+ICsKPj4gKwlpZiAoIWt2bV92Z2ljX2dsb2JhbF9zdGF0ZS5oYXNfZ2lj djRfMSkKPj4gKwkJcmV0dXJuOwo+PiArCj4+ICsJZm9yIChpID0gMDsgaSA8IGRpc3QtPml0c192 bS5ucl92cGVzOyBpKyspIHsKPj4gKwkJZGVzYyA9IGlycV90b19kZXNjKGRpc3QtPml0c192bS52 cGVzW2ldLT5pcnEpOwo+PiArCQlpcnFfZG9tYWluX2FjdGl2YXRlX2lycShpcnFfZGVzY19nZXRf aXJxX2RhdGEoZGVzYyksIGZhbHNlKTsKPj4gKwl9Cj4+ICt9Cj4+ICsKPj4gIC8qKgo+PiAgICog dmdpY192M19zYXZlX3BlbmRpbmdfdGFibGVzIC0gU2F2ZSB0aGUgcGVuZGluZyB0YWJsZXMgaW50 byBndWVzdCAKPj4gUkFNCj4+ICAgKiBrdm0gbG9jayBhbmQgYWxsIHZjcHUgbG9jayBtdXN0IGJl IGhlbGQKPj4gQEAgLTM2NSwxNCArMzk5LDE4IEBAIGludCB2Z2ljX3YzX3NhdmVfcGVuZGluZ190 YWJsZXMoc3RydWN0IGt2bSAqa3ZtKQo+PiAgCXN0cnVjdCB2Z2ljX2Rpc3QgKmRpc3QgPSAma3Zt LT5hcmNoLnZnaWM7Cj4+ICAJc3RydWN0IHZnaWNfaXJxICppcnE7Cj4+ICAJZ3BhX3QgbGFzdF9w dHIgPSB+KGdwYV90KTA7Cj4+IC0JaW50IHJldDsKPj4gKwlpbnQgcmV0ID0gMDsKPj4gIAl1OCB2 YWw7Cj4+IAo+PiArCS8qIEFzIGEgcHJlcGFyYXRpb24gZm9yIGdldHRpbmcgYW55IFZMUEkgc3Rh dGVzLiAqLwo+PiArCXVubWFwX2FsbF92cGVzKGRpc3QpOwo+IAo+IFdoYXQgaWYgdGhlIFZQRXMg YXJlIG5vdCBtYXBwZWQgeWV0PyBJcyBpdCBwb3NzaWJsZSB0byBzbmFwc2hvdCBhIFZNCj4gdGhh dCBoYXMgbm90IHJ1biBhdCBhbGw/CgpNb3JlIHF1ZXN0aW9uczogd2hhdCBoYXBwZW5zIHRvIHZT R0lzIHRoYXQgd2VyZSBtYXBwZWQgdG8gdGhlIFZQRXM/CkNhbiB0aGV5IHNhZmVseSBiZSByZXN0 YXJ0ZWQ/IFRoZSBzcGVjIGlzIG5vdCBzYXlpbmcgbXVjaCBvbiB0aGUgCnN1YmplY3QuCgpPbmNl IHRoZSB1bm1hcCBoYXMgdGFrZW4gcGxhY2UsIGl0IHdvbid0IGJlIHBvc3NpYmxlIHRvIHJlYWQg dGhlaXIgc3RhdGUKdmlhIEdJQ1JfVlNHSVJQRU5ELCBhbmQgb25seSB0aGUgbWVtb3J5IHN0YXRl IGNhbiBiZSB1c2VkLiBUaGlzIHByb2JhYmx5Cm5lZWRzIHRvIGJlIHRyYWNrZWQgYXMgd2VsbC4K ClRoYW5rcywKCiAgICAgICAgIE0uCi0tIApKYXp6IGlzIG5vdCBkZWFkLiBJdCBqdXN0IHNtZWxs cyBmdW5ueS4uLgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5p bmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8v bGludXgtYXJtLWtlcm5lbAo= 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=-14.0 required=3.0 tests=BAYES_00,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS 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 947BBC43381 for ; Tue, 5 Jan 2021 11:41:45 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 5B8F922286 for ; Tue, 5 Jan 2021 11:41:45 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729750AbhAELk6 (ORCPT ); Tue, 5 Jan 2021 06:40:58 -0500 Received: from mail.kernel.org ([198.145.29.99]:43966 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729744AbhAELk5 (ORCPT ); Tue, 5 Jan 2021 06:40:57 -0500 Received: from disco-boy.misterjones.org (disco-boy.misterjones.org [51.254.78.96]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 017BB22286; Tue, 5 Jan 2021 11:40:16 +0000 (UTC) Received: from disco-boy.misterjones.org ([51.254.78.96] helo=www.loen.fr) by disco-boy.misterjones.org with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94) (envelope-from ) id 1kwkhB-005Q61-Lt; Tue, 05 Jan 2021 11:40:14 +0000 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Date: Tue, 05 Jan 2021 11:40:13 +0000 From: Marc Zyngier To: Shenming Lu Cc: Eric Auger , Will Deacon , linux-arm-kernel@lists.infradead.org, kvmarm@lists.cs.columbia.edu, kvm@vger.kernel.org, linux-kernel@vger.kernel.org, Alex Williamson , Cornelia Huck , Lorenzo Pieralisi , wanghaibin.wang@huawei.com, yuzenghui@huawei.com Subject: Re: [RFC PATCH v2 2/4] KVM: arm64: GICv4.1: Try to save hw pending state in save_pending_tables In-Reply-To: References: <20210104081613.100-1-lushenming@huawei.com> <20210104081613.100-3-lushenming@huawei.com> User-Agent: Roundcube Webmail/1.4.9 Message-ID: <6f09084b32e239176b3f9b4b00874a51@kernel.org> X-Sender: maz@kernel.org X-SA-Exim-Connect-IP: 51.254.78.96 X-SA-Exim-Rcpt-To: lushenming@huawei.com, eric.auger@redhat.com, will@kernel.org, linux-arm-kernel@lists.infradead.org, kvmarm@lists.cs.columbia.edu, kvm@vger.kernel.org, linux-kernel@vger.kernel.org, alex.williamson@redhat.com, cohuck@redhat.com, lorenzo.pieralisi@arm.com, wanghaibin.wang@huawei.com, yuzenghui@huawei.com X-SA-Exim-Mail-From: maz@kernel.org X-SA-Exim-Scanned: No (on disco-boy.misterjones.org); SAEximRunCond expanded to false Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org On 2021-01-05 09:13, Marc Zyngier wrote: > On 2021-01-04 08:16, Shenming Lu wrote: >> After pausing all vCPUs and devices capable of interrupting, in order >> to save the information of all interrupts, besides flushing the >> pending >> states in kvm’s vgic, we also try to flush the states of VLPIs in the >> virtual pending tables into guest RAM, but we need to have GICv4.1 and >> safely unmap the vPEs first. >> >> Signed-off-by: Shenming Lu >> --- >> arch/arm64/kvm/vgic/vgic-v3.c | 58 >> +++++++++++++++++++++++++++++++---- >> 1 file changed, 52 insertions(+), 6 deletions(-) >> >> diff --git a/arch/arm64/kvm/vgic/vgic-v3.c >> b/arch/arm64/kvm/vgic/vgic-v3.c >> index 9cdf39a94a63..a58c94127cb0 100644 >> --- a/arch/arm64/kvm/vgic/vgic-v3.c >> +++ b/arch/arm64/kvm/vgic/vgic-v3.c >> @@ -1,6 +1,8 @@ >> // SPDX-License-Identifier: GPL-2.0-only >> >> #include >> +#include >> +#include >> #include >> #include >> #include >> @@ -356,6 +358,38 @@ int vgic_v3_lpi_sync_pending_status(struct kvm >> *kvm, struct vgic_irq *irq) >> return 0; >> } >> >> +/* >> + * The deactivation of the doorbell interrupt will trigger the >> + * unmapping of the associated vPE. >> + */ >> +static void unmap_all_vpes(struct vgic_dist *dist) >> +{ >> + struct irq_desc *desc; >> + int i; >> + >> + if (!kvm_vgic_global_state.has_gicv4_1) >> + return; >> + >> + for (i = 0; i < dist->its_vm.nr_vpes; i++) { >> + desc = irq_to_desc(dist->its_vm.vpes[i]->irq); >> + irq_domain_deactivate_irq(irq_desc_get_irq_data(desc)); >> + } >> +} >> + >> +static void map_all_vpes(struct vgic_dist *dist) >> +{ >> + struct irq_desc *desc; >> + int i; >> + >> + if (!kvm_vgic_global_state.has_gicv4_1) >> + return; >> + >> + for (i = 0; i < dist->its_vm.nr_vpes; i++) { >> + desc = irq_to_desc(dist->its_vm.vpes[i]->irq); >> + irq_domain_activate_irq(irq_desc_get_irq_data(desc), false); >> + } >> +} >> + >> /** >> * vgic_v3_save_pending_tables - Save the pending tables into guest >> RAM >> * kvm lock and all vcpu lock must be held >> @@ -365,14 +399,18 @@ int vgic_v3_save_pending_tables(struct kvm *kvm) >> struct vgic_dist *dist = &kvm->arch.vgic; >> struct vgic_irq *irq; >> gpa_t last_ptr = ~(gpa_t)0; >> - int ret; >> + int ret = 0; >> u8 val; >> >> + /* As a preparation for getting any VLPI states. */ >> + unmap_all_vpes(dist); > > What if the VPEs are not mapped yet? Is it possible to snapshot a VM > that has not run at all? More questions: what happens to vSGIs that were mapped to the VPEs? Can they safely be restarted? The spec is not saying much on the subject. Once the unmap has taken place, it won't be possible to read their state via GICR_VSGIRPEND, and only the memory state can be used. This probably needs to be tracked as well. Thanks, M. -- Jazz is not dead. It just smells funny...