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 8B627C433DB for ; Tue, 5 Jan 2021 09:13:49 +0000 (UTC) Received: from mm01.cs.columbia.edu (mm01.cs.columbia.edu [128.59.11.253]) by mail.kernel.org (Postfix) with ESMTP id A0BBB229C7 for ; Tue, 5 Jan 2021 09:13:48 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A0BBB229C7 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 0924B4B23A; Tue, 5 Jan 2021 04:13:48 -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 DUsn+2z2lVmQ; Tue, 5 Jan 2021 04:13:46 -0500 (EST) Received: from mm01.cs.columbia.edu (localhost [127.0.0.1]) by mm01.cs.columbia.edu (Postfix) with ESMTP id 131A74B2D3; Tue, 5 Jan 2021 04:13:46 -0500 (EST) Received: from localhost (localhost [127.0.0.1]) by mm01.cs.columbia.edu (Postfix) with ESMTP id A758F4B23A for ; Tue, 5 Jan 2021 04:13:44 -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 RXaUxbNXjxis for ; Tue, 5 Jan 2021 04:13:43 -0500 (EST) Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by mm01.cs.columbia.edu (Postfix) with ESMTPS id 640B34B1BF for ; Tue, 5 Jan 2021 04:13:43 -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 3756C225AC; Tue, 5 Jan 2021 09:13:42 +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 1kwiPL-005OSj-R8; Tue, 05 Jan 2021 09:13:39 +0000 MIME-Version: 1.0 Date: Tue, 05 Jan 2021 09:13:39 +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: <20210104081613.100-3-lushenming@huawei.com> References: <20210104081613.100-1-lushenming@huawei.com> <20210104081613.100-3-lushenming@huawei.com> User-Agent: Roundcube Webmail/1.4.9 Message-ID: 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 T24gMjAyMS0wMS0wNCAwODoxNiwgU2hlbm1pbmcgTHUgd3JvdGU6Cj4gQWZ0ZXIgcGF1c2luZyBh bGwgdkNQVXMgYW5kIGRldmljZXMgY2FwYWJsZSBvZiBpbnRlcnJ1cHRpbmcsIGluIG9yZGVyCj4g dG8gc2F2ZSB0aGUgaW5mb3JtYXRpb24gb2YgYWxsIGludGVycnVwdHMsIGJlc2lkZXMgZmx1c2hp bmcgdGhlIHBlbmRpbmcKPiBzdGF0ZXMgaW4ga3Zt4oCZcyB2Z2ljLCB3ZSBhbHNvIHRyeSB0byBm bHVzaCB0aGUgc3RhdGVzIG9mIFZMUElzIGluIHRoZQo+IHZpcnR1YWwgcGVuZGluZyB0YWJsZXMg aW50byBndWVzdCBSQU0sIGJ1dCB3ZSBuZWVkIHRvIGhhdmUgR0lDdjQuMSBhbmQKPiBzYWZlbHkg dW5tYXAgdGhlIHZQRXMgZmlyc3QuCj4gCj4gU2lnbmVkLW9mZi1ieTogU2hlbm1pbmcgTHUgPGx1 c2hlbm1pbmdAaHVhd2VpLmNvbT4KPiAtLS0KPiAgYXJjaC9hcm02NC9rdm0vdmdpYy92Z2ljLXYz LmMgfCA1OCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLQo+ICAxIGZpbGUgY2hh bmdlZCwgNTIgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEv YXJjaC9hcm02NC9rdm0vdmdpYy92Z2ljLXYzLmMgCj4gYi9hcmNoL2FybTY0L2t2bS92Z2ljL3Zn aWMtdjMuYwo+IGluZGV4IDljZGYzOWE5NGE2My4uYTU4Yzk0MTI3Y2IwIDEwMDY0NAo+IC0tLSBh L2FyY2gvYXJtNjQva3ZtL3ZnaWMvdmdpYy12My5jCj4gKysrIGIvYXJjaC9hcm02NC9rdm0vdmdp Yy92Z2ljLXYzLmMKPiBAQCAtMSw2ICsxLDggQEAKPiAgLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZp ZXI6IEdQTC0yLjAtb25seQo+IAo+ICAjaW5jbHVkZSA8bGludXgvaXJxY2hpcC9hcm0tZ2ljLXYz Lmg+Cj4gKyNpbmNsdWRlIDxsaW51eC9pcnEuaD4KPiArI2luY2x1ZGUgPGxpbnV4L2lycWRvbWFp bi5oPgo+ICAjaW5jbHVkZSA8bGludXgva3ZtLmg+Cj4gICNpbmNsdWRlIDxsaW51eC9rdm1faG9z dC5oPgo+ICAjaW5jbHVkZSA8a3ZtL2FybV92Z2ljLmg+Cj4gQEAgLTM1Niw2ICszNTgsMzggQEAg aW50IHZnaWNfdjNfbHBpX3N5bmNfcGVuZGluZ19zdGF0dXMoc3RydWN0IGt2bQo+ICprdm0sIHN0 cnVjdCB2Z2ljX2lycSAqaXJxKQo+ICAJcmV0dXJuIDA7Cj4gIH0KPiAKPiArLyoKPiArICogVGhl IGRlYWN0aXZhdGlvbiBvZiB0aGUgZG9vcmJlbGwgaW50ZXJydXB0IHdpbGwgdHJpZ2dlciB0aGUK PiArICogdW5tYXBwaW5nIG9mIHRoZSBhc3NvY2lhdGVkIHZQRS4KPiArICovCj4gK3N0YXRpYyB2 b2lkIHVubWFwX2FsbF92cGVzKHN0cnVjdCB2Z2ljX2Rpc3QgKmRpc3QpCj4gK3sKPiArCXN0cnVj dCBpcnFfZGVzYyAqZGVzYzsKPiArCWludCBpOwo+ICsKPiArCWlmICgha3ZtX3ZnaWNfZ2xvYmFs X3N0YXRlLmhhc19naWN2NF8xKQo+ICsJCXJldHVybjsKPiArCj4gKwlmb3IgKGkgPSAwOyBpIDwg ZGlzdC0+aXRzX3ZtLm5yX3ZwZXM7IGkrKykgewo+ICsJCWRlc2MgPSBpcnFfdG9fZGVzYyhkaXN0 LT5pdHNfdm0udnBlc1tpXS0+aXJxKTsKPiArCQlpcnFfZG9tYWluX2RlYWN0aXZhdGVfaXJxKGly cV9kZXNjX2dldF9pcnFfZGF0YShkZXNjKSk7Cj4gKwl9Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lk IG1hcF9hbGxfdnBlcyhzdHJ1Y3QgdmdpY19kaXN0ICpkaXN0KQo+ICt7Cj4gKwlzdHJ1Y3QgaXJx X2Rlc2MgKmRlc2M7Cj4gKwlpbnQgaTsKPiArCj4gKwlpZiAoIWt2bV92Z2ljX2dsb2JhbF9zdGF0 ZS5oYXNfZ2ljdjRfMSkKPiArCQlyZXR1cm47Cj4gKwo+ICsJZm9yIChpID0gMDsgaSA8IGRpc3Qt Pml0c192bS5ucl92cGVzOyBpKyspIHsKPiArCQlkZXNjID0gaXJxX3RvX2Rlc2MoZGlzdC0+aXRz X3ZtLnZwZXNbaV0tPmlycSk7Cj4gKwkJaXJxX2RvbWFpbl9hY3RpdmF0ZV9pcnEoaXJxX2Rlc2Nf Z2V0X2lycV9kYXRhKGRlc2MpLCBmYWxzZSk7Cj4gKwl9Cj4gK30KPiArCj4gIC8qKgo+ICAgKiB2 Z2ljX3YzX3NhdmVfcGVuZGluZ190YWJsZXMgLSBTYXZlIHRoZSBwZW5kaW5nIHRhYmxlcyBpbnRv IGd1ZXN0IAo+IFJBTQo+ICAgKiBrdm0gbG9jayBhbmQgYWxsIHZjcHUgbG9jayBtdXN0IGJlIGhl bGQKPiBAQCAtMzY1LDE0ICszOTksMTggQEAgaW50IHZnaWNfdjNfc2F2ZV9wZW5kaW5nX3RhYmxl cyhzdHJ1Y3Qga3ZtICprdm0pCj4gIAlzdHJ1Y3QgdmdpY19kaXN0ICpkaXN0ID0gJmt2bS0+YXJj aC52Z2ljOwo+ICAJc3RydWN0IHZnaWNfaXJxICppcnE7Cj4gIAlncGFfdCBsYXN0X3B0ciA9IH4o Z3BhX3QpMDsKPiAtCWludCByZXQ7Cj4gKwlpbnQgcmV0ID0gMDsKPiAgCXU4IHZhbDsKPiAKPiAr CS8qIEFzIGEgcHJlcGFyYXRpb24gZm9yIGdldHRpbmcgYW55IFZMUEkgc3RhdGVzLiAqLwo+ICsJ dW5tYXBfYWxsX3ZwZXMoZGlzdCk7CgpXaGF0IGlmIHRoZSBWUEVzIGFyZSBub3QgbWFwcGVkIHll dD8gSXMgaXQgcG9zc2libGUgdG8gc25hcHNob3QgYSBWTQp0aGF0IGhhcyBub3QgcnVuIGF0IGFs bD8KCj4gKwo+ICAJbGlzdF9mb3JfZWFjaF9lbnRyeShpcnEsICZkaXN0LT5scGlfbGlzdF9oZWFk LCBscGlfbGlzdCkgewo+ICAJCWludCBieXRlX29mZnNldCwgYml0X25yOwo+ICAJCXN0cnVjdCBr dm1fdmNwdSAqdmNwdTsKPiAgCQlncGFfdCBwZW5kYmFzZSwgcHRyOwo+ICAJCWJvb2wgc3RvcmVk Owo+ICsJCWJvb2wgaXNfcGVuZGluZyA9IGlycS0+cGVuZGluZ19sYXRjaDsKPiAKPiAgCQl2Y3B1 ID0gaXJxLT50YXJnZXRfdmNwdTsKPiAgCQlpZiAoIXZjcHUpCj4gQEAgLTM4NywyNCArNDI1LDMy IEBAIGludCB2Z2ljX3YzX3NhdmVfcGVuZGluZ190YWJsZXMoc3RydWN0IGt2bSAqa3ZtKQo+ICAJ CWlmIChwdHIgIT0gbGFzdF9wdHIpIHsKPiAgCQkJcmV0ID0ga3ZtX3JlYWRfZ3Vlc3RfbG9jayhr dm0sIHB0ciwgJnZhbCwgMSk7Cj4gIAkJCWlmIChyZXQpCj4gLQkJCQlyZXR1cm4gcmV0Owo+ICsJ CQkJZ290byBvdXQ7Cj4gIAkJCWxhc3RfcHRyID0gcHRyOwo+ICAJCX0KPiAKPiAgCQlzdG9yZWQg PSB2YWwgJiAoMVUgPDwgYml0X25yKTsKPiAtCQlpZiAoc3RvcmVkID09IGlycS0+cGVuZGluZ19s YXRjaCkKPiArCj4gKwkJaWYgKGlycS0+aHcpCj4gKwkJCXZnaWNfdjRfZ2V0X3ZscGlfc3RhdGUo aXJxLCAmaXNfcGVuZGluZyk7CgpZb3UgZG9uJ3QgY2hlY2sgdGhlIHJldHVybiB2YWx1ZSBoZXJl LCBzbyBJIHdvbmRlciB3aHkgdGhlIGNoZWNrcwppbiB2Z2ljX3Y0X2dldF92bHBpX3N0YXRlKCku CgpBbm90aGVyIHRoaW5nIHRoYXQgd29ycmllcyBtZSBpcyB0aGF0IHZnaWNfdjRfZ2V0X3ZscGlf c3RhdGUoKSBkb2Vzbid0CmhhdmUgYW55IGNhY2hlIGludmFsaWRhdGlvbiwgYW5kIGNhbiBlbmQt dXAgaGl0dGluZyBpbiB0aGUgQ1BVIGNhY2hlCih0aGVyZSBpcyBubyBndWFyYW50ZWUgb2YgY29o ZXJlbmN5IGJldHdlZW4gdGhlIEdJQyBhbmQgdGhlIENQVSwgb25seQp0aGF0IHRoZSBHSUMgd2ls bCBoYXZlIGZsdXNoZWQgaXRzIGNhY2hlcykuCgpJJ2QgZXhwZWN0IHRoaXMgdG8gaGFwcGVuIGF0 IHVubWFwIHRpbWUsIHRob3VnaCwgaW4gb3JkZXIgdG8gYXZvaWQKcmVwZWF0ZWQgc2luZ2xlIGJ5 dGUgaW52YWxpZGF0aW9ucy4KCj4gKwo+ICsJCWlmIChzdG9yZWQgPT0gaXNfcGVuZGluZykKPiAg CQkJY29udGludWU7Cj4gCj4gLQkJaWYgKGlycS0+cGVuZGluZ19sYXRjaCkKPiArCQlpZiAoaXNf cGVuZGluZykKPiAgCQkJdmFsIHw9IDEgPDwgYml0X25yOwo+ICAJCWVsc2UKPiAgCQkJdmFsICY9 IH4oMSA8PCBiaXRfbnIpOwo+IAo+ICAJCXJldCA9IGt2bV93cml0ZV9ndWVzdF9sb2NrKGt2bSwg cHRyLCAmdmFsLCAxKTsKPiAgCQlpZiAocmV0KQo+IC0JCQlyZXR1cm4gcmV0Owo+ICsJCQlnb3Rv IG91dDsKPiAgCX0KPiAtCXJldHVybiAwOwo+ICsKPiArb3V0Ogo+ICsJbWFwX2FsbF92cGVzKGRp c3QpOwo+ICsKPiArCXJldHVybiByZXQ7Cj4gIH0KPiAKPiAgLyoqCgpUaGFua3MsCgogICAgICAg ICBNLgotLSAKSmF6eiBpcyBub3QgZGVhZC4gSXQganVzdCBzbWVsbHMgZnVubnkuLi4KX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Ka3ZtYXJtIG1haWxpbmcg bGlzdAprdm1hcm1AbGlzdHMuY3MuY29sdW1iaWEuZWR1Cmh0dHBzOi8vbGlzdHMuY3MuY29sdW1i aWEuZWR1L21haWxtYW4vbGlzdGluZm8va3ZtYXJtCg== 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 71026C433DB for ; Tue, 5 Jan 2021 09:15:12 +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 0008D225AC for ; Tue, 5 Jan 2021 09:15:11 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 0008D225AC 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=UCC9UWZtXV2EbHSE9MdKd2upqkF2WCpU5gFfDhiomJc=; b=F3ZjH8iQ8mpnNDQ6yyqcACJBr BQLygOhwsPocTx3E97JO6f4voa42kXaAFKcYs6ndY8PKvHXJA3eoK8RG9GdEgMCsBlWMmr0muHt7X ROOfmbV47+MB9vrCtSH7KrRgNrwfHuj1TF5ky092WSg194yDOJsGA/8E/nz0mA4Hk4o4Nhrs1afrG k0xbDD54b2hblXzMNOrVxOc0eGZ/9twGW/DgcU3s51q+fJyC02tWbVV1KsPOA24hX7AHsh9mT58Nt OSZLqqxAihN8S4GI0TWQnn8ibsEkCfQVrHxtXTjd7Adq8B75fZXjeBp4lSmxdtZ7ppFBTcWeKk96v cIi0RWbSw==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kwiPS-0006Ys-Qb; Tue, 05 Jan 2021 09:13:46 +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 1kwiPP-0006Xt-FJ for linux-arm-kernel@lists.infradead.org; Tue, 05 Jan 2021 09:13:44 +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 3756C225AC; Tue, 5 Jan 2021 09:13:42 +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 1kwiPL-005OSj-R8; Tue, 05 Jan 2021 09:13:39 +0000 MIME-Version: 1.0 Date: Tue, 05 Jan 2021 09:13:39 +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: <20210104081613.100-3-lushenming@huawei.com> References: <20210104081613.100-1-lushenming@huawei.com> <20210104081613.100-3-lushenming@huawei.com> User-Agent: Roundcube Webmail/1.4.9 Message-ID: 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_041343_707714_01277420 X-CRM114-Status: GOOD ( 28.63 ) 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 T24gMjAyMS0wMS0wNCAwODoxNiwgU2hlbm1pbmcgTHUgd3JvdGU6Cj4gQWZ0ZXIgcGF1c2luZyBh bGwgdkNQVXMgYW5kIGRldmljZXMgY2FwYWJsZSBvZiBpbnRlcnJ1cHRpbmcsIGluIG9yZGVyCj4g dG8gc2F2ZSB0aGUgaW5mb3JtYXRpb24gb2YgYWxsIGludGVycnVwdHMsIGJlc2lkZXMgZmx1c2hp bmcgdGhlIHBlbmRpbmcKPiBzdGF0ZXMgaW4ga3Zt4oCZcyB2Z2ljLCB3ZSBhbHNvIHRyeSB0byBm bHVzaCB0aGUgc3RhdGVzIG9mIFZMUElzIGluIHRoZQo+IHZpcnR1YWwgcGVuZGluZyB0YWJsZXMg aW50byBndWVzdCBSQU0sIGJ1dCB3ZSBuZWVkIHRvIGhhdmUgR0lDdjQuMSBhbmQKPiBzYWZlbHkg dW5tYXAgdGhlIHZQRXMgZmlyc3QuCj4gCj4gU2lnbmVkLW9mZi1ieTogU2hlbm1pbmcgTHUgPGx1 c2hlbm1pbmdAaHVhd2VpLmNvbT4KPiAtLS0KPiAgYXJjaC9hcm02NC9rdm0vdmdpYy92Z2ljLXYz LmMgfCA1OCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLQo+ICAxIGZpbGUgY2hh bmdlZCwgNTIgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEv YXJjaC9hcm02NC9rdm0vdmdpYy92Z2ljLXYzLmMgCj4gYi9hcmNoL2FybTY0L2t2bS92Z2ljL3Zn aWMtdjMuYwo+IGluZGV4IDljZGYzOWE5NGE2My4uYTU4Yzk0MTI3Y2IwIDEwMDY0NAo+IC0tLSBh L2FyY2gvYXJtNjQva3ZtL3ZnaWMvdmdpYy12My5jCj4gKysrIGIvYXJjaC9hcm02NC9rdm0vdmdp Yy92Z2ljLXYzLmMKPiBAQCAtMSw2ICsxLDggQEAKPiAgLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZp ZXI6IEdQTC0yLjAtb25seQo+IAo+ICAjaW5jbHVkZSA8bGludXgvaXJxY2hpcC9hcm0tZ2ljLXYz Lmg+Cj4gKyNpbmNsdWRlIDxsaW51eC9pcnEuaD4KPiArI2luY2x1ZGUgPGxpbnV4L2lycWRvbWFp bi5oPgo+ICAjaW5jbHVkZSA8bGludXgva3ZtLmg+Cj4gICNpbmNsdWRlIDxsaW51eC9rdm1faG9z dC5oPgo+ICAjaW5jbHVkZSA8a3ZtL2FybV92Z2ljLmg+Cj4gQEAgLTM1Niw2ICszNTgsMzggQEAg aW50IHZnaWNfdjNfbHBpX3N5bmNfcGVuZGluZ19zdGF0dXMoc3RydWN0IGt2bQo+ICprdm0sIHN0 cnVjdCB2Z2ljX2lycSAqaXJxKQo+ICAJcmV0dXJuIDA7Cj4gIH0KPiAKPiArLyoKPiArICogVGhl IGRlYWN0aXZhdGlvbiBvZiB0aGUgZG9vcmJlbGwgaW50ZXJydXB0IHdpbGwgdHJpZ2dlciB0aGUK PiArICogdW5tYXBwaW5nIG9mIHRoZSBhc3NvY2lhdGVkIHZQRS4KPiArICovCj4gK3N0YXRpYyB2 b2lkIHVubWFwX2FsbF92cGVzKHN0cnVjdCB2Z2ljX2Rpc3QgKmRpc3QpCj4gK3sKPiArCXN0cnVj dCBpcnFfZGVzYyAqZGVzYzsKPiArCWludCBpOwo+ICsKPiArCWlmICgha3ZtX3ZnaWNfZ2xvYmFs X3N0YXRlLmhhc19naWN2NF8xKQo+ICsJCXJldHVybjsKPiArCj4gKwlmb3IgKGkgPSAwOyBpIDwg ZGlzdC0+aXRzX3ZtLm5yX3ZwZXM7IGkrKykgewo+ICsJCWRlc2MgPSBpcnFfdG9fZGVzYyhkaXN0 LT5pdHNfdm0udnBlc1tpXS0+aXJxKTsKPiArCQlpcnFfZG9tYWluX2RlYWN0aXZhdGVfaXJxKGly cV9kZXNjX2dldF9pcnFfZGF0YShkZXNjKSk7Cj4gKwl9Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lk IG1hcF9hbGxfdnBlcyhzdHJ1Y3QgdmdpY19kaXN0ICpkaXN0KQo+ICt7Cj4gKwlzdHJ1Y3QgaXJx X2Rlc2MgKmRlc2M7Cj4gKwlpbnQgaTsKPiArCj4gKwlpZiAoIWt2bV92Z2ljX2dsb2JhbF9zdGF0 ZS5oYXNfZ2ljdjRfMSkKPiArCQlyZXR1cm47Cj4gKwo+ICsJZm9yIChpID0gMDsgaSA8IGRpc3Qt Pml0c192bS5ucl92cGVzOyBpKyspIHsKPiArCQlkZXNjID0gaXJxX3RvX2Rlc2MoZGlzdC0+aXRz X3ZtLnZwZXNbaV0tPmlycSk7Cj4gKwkJaXJxX2RvbWFpbl9hY3RpdmF0ZV9pcnEoaXJxX2Rlc2Nf Z2V0X2lycV9kYXRhKGRlc2MpLCBmYWxzZSk7Cj4gKwl9Cj4gK30KPiArCj4gIC8qKgo+ICAgKiB2 Z2ljX3YzX3NhdmVfcGVuZGluZ190YWJsZXMgLSBTYXZlIHRoZSBwZW5kaW5nIHRhYmxlcyBpbnRv IGd1ZXN0IAo+IFJBTQo+ICAgKiBrdm0gbG9jayBhbmQgYWxsIHZjcHUgbG9jayBtdXN0IGJlIGhl bGQKPiBAQCAtMzY1LDE0ICszOTksMTggQEAgaW50IHZnaWNfdjNfc2F2ZV9wZW5kaW5nX3RhYmxl cyhzdHJ1Y3Qga3ZtICprdm0pCj4gIAlzdHJ1Y3QgdmdpY19kaXN0ICpkaXN0ID0gJmt2bS0+YXJj aC52Z2ljOwo+ICAJc3RydWN0IHZnaWNfaXJxICppcnE7Cj4gIAlncGFfdCBsYXN0X3B0ciA9IH4o Z3BhX3QpMDsKPiAtCWludCByZXQ7Cj4gKwlpbnQgcmV0ID0gMDsKPiAgCXU4IHZhbDsKPiAKPiAr CS8qIEFzIGEgcHJlcGFyYXRpb24gZm9yIGdldHRpbmcgYW55IFZMUEkgc3RhdGVzLiAqLwo+ICsJ dW5tYXBfYWxsX3ZwZXMoZGlzdCk7CgpXaGF0IGlmIHRoZSBWUEVzIGFyZSBub3QgbWFwcGVkIHll dD8gSXMgaXQgcG9zc2libGUgdG8gc25hcHNob3QgYSBWTQp0aGF0IGhhcyBub3QgcnVuIGF0IGFs bD8KCj4gKwo+ICAJbGlzdF9mb3JfZWFjaF9lbnRyeShpcnEsICZkaXN0LT5scGlfbGlzdF9oZWFk LCBscGlfbGlzdCkgewo+ICAJCWludCBieXRlX29mZnNldCwgYml0X25yOwo+ICAJCXN0cnVjdCBr dm1fdmNwdSAqdmNwdTsKPiAgCQlncGFfdCBwZW5kYmFzZSwgcHRyOwo+ICAJCWJvb2wgc3RvcmVk Owo+ICsJCWJvb2wgaXNfcGVuZGluZyA9IGlycS0+cGVuZGluZ19sYXRjaDsKPiAKPiAgCQl2Y3B1 ID0gaXJxLT50YXJnZXRfdmNwdTsKPiAgCQlpZiAoIXZjcHUpCj4gQEAgLTM4NywyNCArNDI1LDMy IEBAIGludCB2Z2ljX3YzX3NhdmVfcGVuZGluZ190YWJsZXMoc3RydWN0IGt2bSAqa3ZtKQo+ICAJ CWlmIChwdHIgIT0gbGFzdF9wdHIpIHsKPiAgCQkJcmV0ID0ga3ZtX3JlYWRfZ3Vlc3RfbG9jayhr dm0sIHB0ciwgJnZhbCwgMSk7Cj4gIAkJCWlmIChyZXQpCj4gLQkJCQlyZXR1cm4gcmV0Owo+ICsJ CQkJZ290byBvdXQ7Cj4gIAkJCWxhc3RfcHRyID0gcHRyOwo+ICAJCX0KPiAKPiAgCQlzdG9yZWQg PSB2YWwgJiAoMVUgPDwgYml0X25yKTsKPiAtCQlpZiAoc3RvcmVkID09IGlycS0+cGVuZGluZ19s YXRjaCkKPiArCj4gKwkJaWYgKGlycS0+aHcpCj4gKwkJCXZnaWNfdjRfZ2V0X3ZscGlfc3RhdGUo aXJxLCAmaXNfcGVuZGluZyk7CgpZb3UgZG9uJ3QgY2hlY2sgdGhlIHJldHVybiB2YWx1ZSBoZXJl LCBzbyBJIHdvbmRlciB3aHkgdGhlIGNoZWNrcwppbiB2Z2ljX3Y0X2dldF92bHBpX3N0YXRlKCku CgpBbm90aGVyIHRoaW5nIHRoYXQgd29ycmllcyBtZSBpcyB0aGF0IHZnaWNfdjRfZ2V0X3ZscGlf c3RhdGUoKSBkb2Vzbid0CmhhdmUgYW55IGNhY2hlIGludmFsaWRhdGlvbiwgYW5kIGNhbiBlbmQt dXAgaGl0dGluZyBpbiB0aGUgQ1BVIGNhY2hlCih0aGVyZSBpcyBubyBndWFyYW50ZWUgb2YgY29o ZXJlbmN5IGJldHdlZW4gdGhlIEdJQyBhbmQgdGhlIENQVSwgb25seQp0aGF0IHRoZSBHSUMgd2ls bCBoYXZlIGZsdXNoZWQgaXRzIGNhY2hlcykuCgpJJ2QgZXhwZWN0IHRoaXMgdG8gaGFwcGVuIGF0 IHVubWFwIHRpbWUsIHRob3VnaCwgaW4gb3JkZXIgdG8gYXZvaWQKcmVwZWF0ZWQgc2luZ2xlIGJ5 dGUgaW52YWxpZGF0aW9ucy4KCj4gKwo+ICsJCWlmIChzdG9yZWQgPT0gaXNfcGVuZGluZykKPiAg CQkJY29udGludWU7Cj4gCj4gLQkJaWYgKGlycS0+cGVuZGluZ19sYXRjaCkKPiArCQlpZiAoaXNf cGVuZGluZykKPiAgCQkJdmFsIHw9IDEgPDwgYml0X25yOwo+ICAJCWVsc2UKPiAgCQkJdmFsICY9 IH4oMSA8PCBiaXRfbnIpOwo+IAo+ICAJCXJldCA9IGt2bV93cml0ZV9ndWVzdF9sb2NrKGt2bSwg cHRyLCAmdmFsLCAxKTsKPiAgCQlpZiAocmV0KQo+IC0JCQlyZXR1cm4gcmV0Owo+ICsJCQlnb3Rv IG91dDsKPiAgCX0KPiAtCXJldHVybiAwOwo+ICsKPiArb3V0Ogo+ICsJbWFwX2FsbF92cGVzKGRp c3QpOwo+ICsKPiArCXJldHVybiByZXQ7Cj4gIH0KPiAKPiAgLyoqCgpUaGFua3MsCgogICAgICAg ICBNLgotLSAKSmF6eiBpcyBub3QgZGVhZC4gSXQganVzdCBzbWVsbHMgZnVubnkuLi4KCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJu ZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRw Oi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK 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 E04E7C433DB for ; Tue, 5 Jan 2021 09:14:41 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 9FD6A22A83 for ; Tue, 5 Jan 2021 09:14:41 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727922AbhAEJOY (ORCPT ); Tue, 5 Jan 2021 04:14:24 -0500 Received: from mail.kernel.org ([198.145.29.99]:46964 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727658AbhAEJOX (ORCPT ); Tue, 5 Jan 2021 04:14:23 -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 3756C225AC; Tue, 5 Jan 2021 09:13:42 +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 1kwiPL-005OSj-R8; Tue, 05 Jan 2021 09:13:39 +0000 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Date: Tue, 05 Jan 2021 09:13:39 +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: <20210104081613.100-3-lushenming@huawei.com> References: <20210104081613.100-1-lushenming@huawei.com> <20210104081613.100-3-lushenming@huawei.com> User-Agent: Roundcube Webmail/1.4.9 Message-ID: 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-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? > + > list_for_each_entry(irq, &dist->lpi_list_head, lpi_list) { > int byte_offset, bit_nr; > struct kvm_vcpu *vcpu; > gpa_t pendbase, ptr; > bool stored; > + bool is_pending = irq->pending_latch; > > vcpu = irq->target_vcpu; > if (!vcpu) > @@ -387,24 +425,32 @@ int vgic_v3_save_pending_tables(struct kvm *kvm) > if (ptr != last_ptr) { > ret = kvm_read_guest_lock(kvm, ptr, &val, 1); > if (ret) > - return ret; > + goto out; > last_ptr = ptr; > } > > stored = val & (1U << bit_nr); > - if (stored == irq->pending_latch) > + > + if (irq->hw) > + vgic_v4_get_vlpi_state(irq, &is_pending); You don't check the return value here, so I wonder why the checks in vgic_v4_get_vlpi_state(). Another thing that worries me is that vgic_v4_get_vlpi_state() doesn't have any cache invalidation, and can end-up hitting in the CPU cache (there is no guarantee of coherency between the GIC and the CPU, only that the GIC will have flushed its caches). I'd expect this to happen at unmap time, though, in order to avoid repeated single byte invalidations. > + > + if (stored == is_pending) > continue; > > - if (irq->pending_latch) > + if (is_pending) > val |= 1 << bit_nr; > else > val &= ~(1 << bit_nr); > > ret = kvm_write_guest_lock(kvm, ptr, &val, 1); > if (ret) > - return ret; > + goto out; > } > - return 0; > + > +out: > + map_all_vpes(dist); > + > + return ret; > } > > /** Thanks, M. -- Jazz is not dead. It just smells funny...