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 Received: from mm01.cs.columbia.edu (mm01.cs.columbia.edu [128.59.11.253]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1D8CBC4332F for ; Wed, 19 Oct 2022 20:19:11 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by mm01.cs.columbia.edu (Postfix) with ESMTP id 8B57F4B8A0; Wed, 19 Oct 2022 16:19:11 -0400 (EDT) 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 8wtlN6Ob1sWC; Wed, 19 Oct 2022 16:19:09 -0400 (EDT) Received: from mm01.cs.columbia.edu (localhost [127.0.0.1]) by mm01.cs.columbia.edu (Postfix) with ESMTP id CE5394B8F2; Wed, 19 Oct 2022 16:19:09 -0400 (EDT) Received: from localhost (localhost [127.0.0.1]) by mm01.cs.columbia.edu (Postfix) with ESMTP id 3EB874B8A0 for ; Wed, 19 Oct 2022 16:19:08 -0400 (EDT) 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 yEeMvRZyE-iz for ; Wed, 19 Oct 2022 16:19:06 -0400 (EDT) Received: from vps-vb.mhejs.net (vps-vb.mhejs.net [37.28.154.113]) by mm01.cs.columbia.edu (Postfix) with ESMTPS id 3D2E54B89B for ; Wed, 19 Oct 2022 16:19:06 -0400 (EDT) Received: from MUA by vps-vb.mhejs.net with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1olFWW-0003EF-DJ; Wed, 19 Oct 2022 22:18:44 +0200 Message-ID: Date: Wed, 19 Oct 2022 22:18:38 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.3.0 Content-Language: en-US, pl-PL To: Gavin Shan References: <20221014071914.227134-1-gshan@redhat.com> <20221014071914.227134-5-gshan@redhat.com> <3eecebca-a526-d10a-02d3-496ce919d577@maciej.szmigiero.name> <5bfbe050-a654-8400-e1f1-dcfa4dba13e6@redhat.com> From: "Maciej S. Szmigiero" Subject: Re: [PATCH 4/6] KVM: selftests: memslot_perf_test: Support variable guest page size In-Reply-To: <5bfbe050-a654-8400-e1f1-dcfa4dba13e6@redhat.com> Cc: kvm@vger.kernel.org, maz@kernel.org, linux-kernel@vger.kernel.org, zhenyzha@redhat.com, shan.gavin@gmail.com, kvmarm@lists.linux.dev, pbonzini@redhat.com, shuah@kernel.org, kvmarm@lists.cs.columbia.edu, ajones@ventanamicro.com 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 T24gMTkuMTAuMjAyMiAwMjoyNiwgR2F2aW4gU2hhbiB3cm90ZToKPiBPbiAxMC8xOC8yMiAxMTo1 NiBQTSwgTWFjaWVqIFMuIFN6bWlnaWVybyB3cm90ZToKPj4gT24gMTguMTAuMjAyMiAwMjo1MSwg R2F2aW4gU2hhbiB3cm90ZToKPj4+IE9uIDEwLzE4LzIyIDg6NDYgQU0sIEdhdmluIFNoYW4gd3Jv dGU6Cj4+Pj4gT24gMTAvMTgvMjIgNTozMSBBTSwgTWFjaWVqIFMuIFN6bWlnaWVybyB3cm90ZToK Pj4+Pj4gT24gMTQuMTAuMjAyMiAwOToxOSwgR2F2aW4gU2hhbiB3cm90ZToKPj4+Pj4+IFRoZSB0 ZXN0IGNhc2UgaXMgb2J2aW91c2x5IGJyb2tlbiBvbiBhYXJjaDY0IGJlY2F1c2Ugbm9uLTRLQiBn dWVzdAo+Pj4+Pj4gcGFnZSBzaXplIGlzIHN1cHBvcnRlZC4gVGhlIGd1ZXN0IHBhZ2Ugc2l6ZSBv biBhYXJjaDY0IGNvdWxkIGJlIDRLQiwKPj4+Pj4+IDE2S0Igb3IgNjRLQi4KPj4+Pj4+Cj4+Pj4+ PiBUaGlzIHN1cHBvcnRzIHZhcmlhYmxlIGd1ZXN0IHBhZ2Ugc2l6ZSwgbW9zdGx5IGZvciBhYXJj aDY0Lgo+Pj4+Pj4KPj4+Pj4+IMKgwqAgLSBUaGUgaG9zdCBkZXRlcm1pbmVzIHRoZSBndWVzdCBw YWdlIHNpemUgd2hlbiB2aXJ0dWFsIG1hY2hpbmUgaXMKPj4+Pj4+IMKgwqDCoMKgIGNyZWF0ZWQu IFRoZSB2YWx1ZSBpcyBhbHNvIHBhc3NlZCB0byBndWVzdCB0aHJvdWdoIHRoZSBzeW5jaHJvbml6 YXRpb24KPj4+Pj4+IMKgwqDCoMKgIGFyZWEuCj4+Pj4+Pgo+Pj4+Pj4gwqDCoCAtIFRoZSBudW1i ZXIgb2YgZ3Vlc3QgcGFnZXMgYXJlIHVua25vd24gdW50aWwgdGhlIHZpcnR1YWwgbWFjaGluZQo+ Pj4+Pj4gwqDCoMKgwqAgaXMgdG8gYmUgY3JlYXRlZC4gU28gYWxsIHRoZSByZWxhdGVkIG1hY3Jv cyBhcmUgZHJvcHBlZC4gSW5zdGVhZCwKPj4+Pj4+IMKgwqDCoMKgIHRoZWlyIHZhbHVlcyBhcmUg ZHluYW1pY2FsbHkgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgZ3Vlc3QgcGFnZQo+Pj4+Pj4gwqDC oMKgwqAgc2l6ZS4KPj4+Pj4+Cj4+Pj4+PiDCoMKgIC0gVGhlIHN0YXRpYyBjaGVja3Mgb24gbWVt b3J5IHNpemVzIGFuZCBwYWdlcyBiZWNvbWVzIGRlcGVuZGVudAo+Pj4+Pj4gwqDCoMKgwqAgb24g Z3Vlc3QgcGFnZSBzaXplLCB3aGljaCBpcyB1bmtub3duIHVudGlsIHRoZSB2aXJ0dWFsIG1hY2hp bmUKPj4+Pj4+IMKgwqDCoMKgIGlzIGFib3V0IHRvIGJlIGNyZWF0ZWQuIFNvIGFsbCB0aGUgc3Rh dGljIGNoZWNrcyBhcmUgY29udmVydGVkCj4+Pj4+PiDCoMKgwqDCoCB0byBkeW5hbWljIGNoZWNr cywgZG9uZSBpbiBjaGVja19tZW1vcnlfc2l6ZXMoKS4KPj4+Pj4+Cj4+Pj4+PiDCoMKgIC0gQXMg dGhlIGFkZHJlc3MgcGFzc2VkIHRvIG1hZHZpc2UoKSBzaG91bGQgYmUgYWxpZ25lZCB0byBob3N0 IHBhZ2UsCj4+Pj4+PiDCoMKgwqDCoCB0aGUgc2l6ZSBvZiBwYWdlIGNodW5rIGlzIGF1dG9tYXRp Y2FsbHkgc2VsZWN0ZWQsIG90aGVyIHRoYW4gb25lCj4+Pj4+PiDCoMKgwqDCoCBwYWdlLgo+Pj4+ Pj4KPj4+Pj4+IMKgwqAgLSBBbGwgb3RoZXIgY2hhbmdlcyBpbmNsdWRlZCBpbiB0aGlzIHBhdGNo IGFyZSBhbG1vc3QgbWVjaGFuaWNhbAo+Pj4+Pj4gwqDCoMKgwqAgcmVwbGFjaW5nICc0MDk2JyB3 aXRoICdndWVzdF9wYWdlX3NpemUnLgo+Pj4+Pj4KPj4+Pj4+IFNpZ25lZC1vZmYtYnk6IEdhdmlu IFNoYW4gPGdzaGFuQHJlZGhhdC5jb20+Cj4+Pj4+PiAtLS0KPj4+Pj4+IMKgIC4uLi90ZXN0aW5n L3NlbGZ0ZXN0cy9rdm0vbWVtc2xvdF9wZXJmX3Rlc3QuYyB8IDE5MSArKysrKysrKysrKy0tLS0t LS0KPj4+Pj4+IMKgIDEgZmlsZSBjaGFuZ2VkLCAxMTUgaW5zZXJ0aW9ucygrKSwgNzYgZGVsZXRp b25zKC0pCj4+Pj4+Pgo+Pj4+Pj4gZGlmZiAtLWdpdCBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3Rz L2t2bS9tZW1zbG90X3BlcmZfdGVzdC5jIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMva3ZtL21l bXNsb3RfcGVyZl90ZXN0LmMKPj4+Pj4+IGluZGV4IGQ1YWE5MTQ4Zjk2Zi4uZDU4N2JkOTUyZmY5 IDEwMDY0NAo+Pj4+Pj4gLS0tIGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMva3ZtL21lbXNsb3Rf cGVyZl90ZXN0LmMKPj4+Pj4+ICsrKyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2t2bS9tZW1z bG90X3BlcmZfdGVzdC5jCj4+ICguLi4pCj4+Pj4+PiBAQCAtNzcsOCArNjEsNyBAQCBzdGF0aWNf YXNzZXJ0KE1FTV9URVNUX1VOTUFQX1NJWkVfUEFHRVMgJQo+Pj4+Pj4gwqDCoCAqIGZvciB0aGUg dG90YWwgc2l6ZSBvZiAyNSBwYWdlcy4KPj4+Pj4+IMKgwqAgKiBIZW5jZSwgdGhlIG1heGltdW0g c2l6ZSBoZXJlIGlzIDUwIHBhZ2VzLgo+Pj4+Pj4gwqDCoCAqLwo+Pj4+Pj4gLSNkZWZpbmUgTUVN X1RFU1RfTU9WRV9TSVpFX1BBR0VTwqDCoMKgICg1MCkKPj4+Pj4+IC0jZGVmaW5lIE1FTV9URVNU X01PVkVfU0laRcKgwqDCoMKgwqDCoMKgIChNRU1fVEVTVF9NT1ZFX1NJWkVfUEFHRVMgKiA0MDk2 KQo+Pj4+Pj4gKyNkZWZpbmUgTUVNX1RFU1RfTU9WRV9TSVpFwqDCoMKgwqDCoMKgwqAgMHgzMjAw MAo+Pj4+Pgo+Pj4+PiBUaGUgYWJvdmUgbnVtYmVyIHNlZW1zIGxlc3MgcmVhZGFibGUgdGhhbiBh biBleHBsaWNpdCB2YWx1ZSBvZiA1MCBwYWdlcy4KPj4+Pj4KPj4+Pj4gSW4gYWRkaXRpb24gdG8g dGhhdCwgaXQncyA1MCBwYWdlcyBvbmx5IHdpdGggNGsgcGFnZSBzaXplLCBzbyBhdCBsZWFzdAo+ Pj4+PiB0aGUgY29tbWVudCBhYm92ZSBuZWVkcyB0byBiZSB1cGRhdGVkIHRvIHJlZmxlY3QgdGhp cyBmYWN0Lgo+Pj4+Pgo+Pj4+Cj4+Pj4gWWVhaCwgSSB3aWxsIGNoYW5nZSB0aGUgY29tbWVudHMg bGlrZSBiZWxvdyBpbiBuZXh0IHJldmlzaW9uLgo+Pj4+Cj4+Pj4gwqDCoC8qCj4+Pj4gwqDCoCAq IFdoZW4gcnVubmluZyB0aGlzIHRlc3Qgd2l0aCAzMmsgbWVtc2xvdHMsIGFjdHVhbGx5IDMyNzYz IGV4Y2x1ZGluZwo+Pj4+IMKgwqAgKiB0aGUgcmVzZXJ2ZWQgbWVtb3J5IHNsb3QgMCwgdGhlIG1l bW9yeSBmb3IgZWFjaCBzbG90IGlzIDB4NDAwMCBieXRlcy4KPj4+PiDCoMKgICogVGhlIGxhc3Qg c2xvdCBjb250YWlucyAweDE5MDAwIGJ5dGVzIG1lbW9yeS4gSGVuY2UsIHRoZSBtYXhpbXVtIHNp emUKPj4+PiDCoMKgICogaGVyZSBpcyAweDMyMDAwIGJ5dGVzLgo+Pj4+IMKgwqAgKi8KPj4+Pgo+ Pj4KPj4+IEkgd2lsbCByZXBsYWNlIHRob3NlIG51bWJlcnMgd2l0aCByZWFkYWJsZSBvbmVzIGxp a2UgYmVsb3cgOikKPj4+Cj4+PiAvKgo+Pj4gwqDCoCogV2hlbiBydW5uaW5nIHRoaXMgdGVzdCB3 aXRoIDMyayBtZW1zbG90cywgYWN0dWFsbHkgMzI3NjMgZXhjbHVkaW5nCj4+PiDCoMKgKiB0aGUg cmVzZXJ2ZWQgbWVtb3J5IHNsb3QgMCwgdGhlIG1lbW9yeSBmb3IgZWFjaCBzbG90IGlzIDE2S0Iu IFRoZQo+Pj4gwqDCoCogbGFzdCBzbG90IGNvbnRhaW5zIDEwMEtCIG1lbW9yeSB3aXRoIHRoZSBy ZW1haW5pbmcgODRLQi4gSGVuY2UsCj4+PiDCoMKgKiB0aGUgbWF4aW11bSBzaXplIGlzIGRvdWJs ZSBvZiB0aGF0ICgyMDBLQikKPj4+IMKgwqAqLwo+Pgo+PiBTdGlsbCwgdGhlc2UgbnVtYmVycyBh cmUgZm9yIHg4Niwgd2hpY2ggaGFzIEtWTV9JTlRFUk5BTF9NRU1fU0xPVFMKPj4gZGVmaW5lZCBh cyAzLgo+Pgo+PiBBcyBmYXIgYXMgSSBjYW4gc2VlIGFhcmNoNjQgaGFzIEtWTV9JTlRFUk5BTF9N RU1fU0xPVFMgZXF1YWwgdG8gMCwgc28KPj4gdGhpcyBhcmNoIGhhcyAzMjc2NiBzbG90IGF2YWls YWJsZSBmb3IgdGhlIHRlc3QgbWVtb3J5Lgo+Pgo+PiBRdWljayBjYWxjdWxhdGlvbnMgc2hvdyB0 aGF0IHRoaXMgd2lsbCByZXN1bHQgaW4gMTEyIEtpQiBvZiBtZW1vcnkgaW4KPj4gdGhlIGxhc3Qg c2xvdCBmb3IgNCBLaUIgcGFnZSBzaXplICh3aGlsZSBmb3IgNjQgS2lCIHBhZ2Ugc2l6ZSB0aGUK Pj4gbWF4aW11bSBzbG90IGNvdW50IGZvciB0aGlzIHRlc3QgaXMgODE5MiBhbnl3YXkgLSBub3Qg Y291bnRpbmcgc2xvdCAwKS4KPj4KPiAKPiBJdCBzZWVtcyB5b3VyIGNhbGN1bGF0aW9uIGhhZCAo NTEyTUIrNjRLQiksIGluc3RlYWQgb2YgKDUxMk1CKzRLQikuCj4gSW4gdGhpcyBwYXJ0aWN1bGFy IHBhdGNoLCB3ZSBzdGlsbCBoYXZlICg1MTJNQis0S0IpLiBIb3cgYWJvdXQgdG8gY2hhbmdlCj4g bGlrZSBiZWxvdyBpbiB0aGlzIHBhdGNoLiBJbiBuZXh0IHBhdGNoLCBpdCdzIGFkanVzdGVkIGFj Y29yZGluZ2x5IGFmdGVyCj4gd2UgaGF2ZSAoNTEyTUIrNjRLQikuCgpNeSByZXZpZXcgY29tbWVu dCBhYm92ZSByZWZlcnJlZCB0byB0aGUgZmluYWwgTUVNX1NJWkUgdmFsdWUgYWZ0ZXIgdGhlCndo b2xlIHNlcmllcywgc28gNTEyIE1pQiArIDY0IEtpQi4KCkkgcGxhY2VkIHRoYXQgcmV2aWV3IGNv bW1lbnQgb24gcGF0Y2ggNCBzaW5jZSBpdCdzIHRoZSBvbmx5IHBhdGNoIGluIHRoaXMKc2VyaWVz IHRoYXQgbW9kaWZpZWQgdGhlIGNvZGUgY29tbWVudCBhYm91dCBNRU1fVEVTVF9NT1ZFX1NJWkUu Cgo+IAo+ICgxKSBJbiB0aGlzIHBhdGNoLCB0aGUgY29tbWVudCBpcyBjaGFuZ2VkIHRvIGFzIGJl bG93Cj4gCj4gIMKgwqDCoCAvKgo+ICDCoMKgwqDCoCAqIFdlIGhhdmUgZGlmZmVyZW50IG51bWJl ciBvZiBtZW1vcnkgc2xvdHMsIGV4Y2x1ZGluZyB0aGUgcmVzZXJ2ZWQKPiAgwqDCoMKgwqAgKiBt ZW1vcnkgc2xvdCAwLCBvbiB2YXJpb3VzIGFyY2hpdGVjdHVyZXMgYW5kIGNvbmZpZ3VyYXRpb25z LiBUaGUKPiAgwqDCoMKgwqAgKiBtZW1vcnkgc2l6ZSBpbiB0aGlzIHRlc3QgaXMgY2FsY3VsYXRl ZCBieSBkb3VibGluZyB0aGUgbWF4aW1hbAo+ICDCoMKgwqDCoCAqIG1lbW9yeSBzaXplIGluIGxh c3QgbWVtb3J5IHNsb3QsIHdpdGggYWxpZ25tZW50IHRvIHRoZSBsYXJnZXN0Cj4gIMKgwqDCoMKg ICogc3VwcG9ydGVkIHBhZ2Ugc2l6ZSAoNjRLQikuCj4gIMKgwqDCoMKgICoKPiAgwqDCoMKgwqAg KiBhcmNoaXRlY3R1cmXCoMKgIHNsb3RzwqDCoMKgIG1lbW9yeS1wZXItc2xvdMKgwqDCoCBtZW1v cnktb24tbGFzdC1zbG90Cj4gIMKgwqDCoMKgICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiAgwqDCoMKgwqAgKiB4ODYtNEtC wqDCoMKgwqDCoMKgwqAgMzI3NjPCoMKgwqAgMTZLQsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgMTAwS0IKPiAgwqDCoMKgwqAgKiBhcm02NC00S0LCoMKgwqDCoMKgIDMyNzY2wqDCoMKgIDE2 S0LCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDUyS0IKPiAgwqDCoMKgwqAgKiBhcm02NC02 NEtCwqDCoMKgwqAgODE5MsKgwqDCoMKgIDY0S0LCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IDY0S0IKPiAgwqDCoMKgwqAgKi8KPiAgwqDCoMKgICNkZWZpbmUgTUVNX1RFU1RfTU9WRV9TSVpF wqDCoMKgIDB4NDAwMDDCoMKgwqDCoMKgwqDCoMKgwqDCoCAvKiAyNTZLQiAqLwo+Cj4gKDIpIElu IHRoZSBuZXh0IHBhdGNoLCB3aGVyZSB3ZSBoYXZlICg1MTJNQis2NEtCKSBhZnRlciB0aGUgdmFy aW91cwo+ICDCoMKgwqAgbWVtb3J5IHNpemVzIGFyZSBjb25zb2xpZGF0ZWQsIEl0IGlzIGFkanVz dGVkIGFjY29yZGluZ2x5IGFzIGJlbG93Lgo+IAo+ICDCoMKgwqAgLyoKPiAgwqDCoMKgwqAgKiBX ZSBoYXZlIGRpZmZlcmVudCBudW1iZXIgb2YgbWVtb3J5IHNsb3RzLCBleGNsdWRpbmcgdGhlIHJl c2VydmVkCj4gIMKgwqDCoMKgICogbWVtb3J5IHNsb3QgMCwgb24gdmFyaW91cyBhcmNoaXRlY3R1 cmVzIGFuZCBjb25maWd1cmF0aW9ucy4gVGhlCj4gIMKgwqDCoMKgICogbWVtb3J5IHNpemUgaW4g dGhpcyB0ZXN0IGlzIGNhbGN1bGF0ZWQgYnkgZG91YmxpbmcgdGhlIG1heGltYWwKPiAgwqDCoMKg wqAgKiBtZW1vcnkgc2l6ZSBpbiBsYXN0IG1lbW9yeSBzbG90LCB3aXRoIGFsaWdubWVudCB0byB0 aGUgbGFyZ2VzdAo+ICDCoMKgwqDCoCAqIHN1cHBvcnRlZCBwYWdlIHNpemUgKDY0S0IpLgo+ICDC oMKgwqDCoCAqCj4gIMKgwqDCoMKgICogYXJjaGl0ZWN0dXJlwqDCoCBzbG90c8KgwqDCoCBtZW1v cnktcGVyLXNsb3TCoMKgwqAgbWVtb3J5LW9uLWxhc3Qtc2xvdAo+ICDCoMKgwqDCoCAqIC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Cj4gIMKgwqDCoMKgICogeDg2LTRLQsKgwqDCoMKgwqDCoMKgIDMyNzYzwqDCoMKgIDE2S0LCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDE2MEtCCj4gIMKgwqDCoMKgICogYXJtNjQtNEtCwqDC oMKgwqDCoCAzMjc2NsKgwqDCoCAxNktCwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAxMTJL Qgo+ICDCoMKgwqDCoCAqIGFybTY0LTY0S0LCoMKgwqDCoCA4MTkywqDCoMKgwqAgNjRLQsKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMTI4S0IKPiAgwqDCoMKgwqAgKi8KPiAgwqDCoMKgICNk ZWZpbmUgTUVNX1RFU1RfTU9WRV9TSVpFwqDCoMKgIDB4NTAwMDDCoMKgwqDCoMKgwqDCoMKgwqDC oCAvKiAzMjBLQiAqLwoKTm93IE1FTV9URVNUX01PVkVfU0laRSBpcyB0b28gaGlnaCBmb3IgYXJt NjQtNEtCIGFuZCBhcm02NC02NEtCIGNhc2VzCihpdCBuZWVkcyAxNjAgS2lCIGluIHRoZSBsYXN0 IHNsb3QgYnV0IGhhcyBsZXNzIGF2YWlsYWJsZSBpbiB0aGVzZSB0d28KY2FzZXMpLgoKVXNpbmcg YSB0ZXN0IHNpemUgb2YgMTkyIEtpQiBpbnN0ZWFkIHNlZW1zIGxpa2UgYSBzbWFsbCBkaWZmZXJl bmNlCmZyb20gdGhlIG9yaWdpbmFsIHNpemUgb2YgMjAwIEtpQiwgd2hpbGUgc3RpbGwgYmVpbmcg YWxpZ25lZCB0bwo2NCBLaUIuCgpUaGUgbW92ZSBiZW5jaG1hcmtzIHJ1bnRpbWUgZGlmZmVyZW5j ZSBvbiB4ODYtNEtCIHdpdGggdGhpcyBzaXplCihjb21wYXJlZCB0byBzaXplcyBvZiAyMDAgS2lC IGFuZCAzMjAgS2lCKSBzZWVtcyB0byBiZSBuZWdsaWdpYmxlLgoKU2luY2UgaXQncyBhbiBvZGQg bnVtYmVyIG9mIDY0IEtpQiBwYWdlcyAoMykgdGhlIGNvZGUgdGhhdCBoYWx2ZXMKdGhpcyBudW1i ZXIgb2YgcGFnZXMgd2lsbCBuZWVkIHRvIGJlIGFkanVzdGVkIHRvIG9wZXJhdGUgb24gcmF3CnNp emVzIGluc3RlYWQuCgpJIGNhbiBzZWUgYSBzaW5nbGUgYmxvY2sgb2YgY29kZSB0aGF0IHdpbGwg bmVlZCBzdWNoIGFkanVzdG1lbnQ6Cj4gaWYgKGxhc3RwYWdlcyA8IG1vdmVfcGFnZXMgLyAyKSB7 Cj4gICAgICAgICAqbWF4c2xvdHMgPSAwOwo+ICAgICAgICAgcmV0dXJuIGZhbHNlOwo+IH0gICAK ClNpbWlsYXIgcmVtYXJrIGdvZXMgZm9yIHRoZSBjYXNlICgxKSBhYm92ZSwgd2hlcmUgeW91J2xs IHByb2JhYmx5IG5lZWQKdG8gdXNlIDY0IEtpQiB0ZXN0IGFyZWEgc2l6ZSAoaXQncyBvbmx5IGFu IGludGVybWVkaWF0ZSBmb3JtIG9mIGNvZGUKYmVmb3JlIHRoZSBmaW5hbCBwYXRjaCBjaGFuZ2Vz IHRoaXMgdmFsdWUgc28gaXQncyBmaW5lIGlmIGl0IGRvZXNuJ3QKcGVyZm9ybSBhcyB3ZWxsIGFz IHRoZSBmaW5hbCBmb3JtIG9mIHRoZSBjb2RlKS4KCj4gVGhhbmtzLAo+IEdhdmluCj4gCgpUaGFu a3MsCk1hY2llagoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18Ka3ZtYXJtIG1haWxpbmcgbGlzdAprdm1hcm1AbGlzdHMuY3MuY29sdW1iaWEuZWR1Cmh0dHBz Oi8vbGlzdHMuY3MuY29sdW1iaWEuZWR1L21haWxtYW4vbGlzdGluZm8va3ZtYXJtCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from vps-vb.mhejs.net (vps-vb.mhejs.net [37.28.154.113]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 812D553A3 for ; Wed, 19 Oct 2022 20:19:05 +0000 (UTC) Received: from MUA by vps-vb.mhejs.net with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1olFWW-0003EF-DJ; Wed, 19 Oct 2022 22:18:44 +0200 Message-ID: Date: Wed, 19 Oct 2022 22:18:38 +0200 Precedence: bulk X-Mailing-List: kvmarm@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.3.0 Content-Language: en-US, pl-PL To: Gavin Shan Cc: kvm@vger.kernel.org, maz@kernel.org, linux-kernel@vger.kernel.org, zhenyzha@redhat.com, shan.gavin@gmail.com, kvmarm@lists.linux.dev, pbonzini@redhat.com, shuah@kernel.org, kvmarm@lists.cs.columbia.edu, ajones@ventanamicro.com References: <20221014071914.227134-1-gshan@redhat.com> <20221014071914.227134-5-gshan@redhat.com> <3eecebca-a526-d10a-02d3-496ce919d577@maciej.szmigiero.name> <5bfbe050-a654-8400-e1f1-dcfa4dba13e6@redhat.com> From: "Maciej S. Szmigiero" Subject: Re: [PATCH 4/6] KVM: selftests: memslot_perf_test: Support variable guest page size In-Reply-To: <5bfbe050-a654-8400-e1f1-dcfa4dba13e6@redhat.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Message-ID: <20221019201838.AsKs8XMmib1ECwY7hZHpphf1ujlQd4pr6Q56p77nbP4@z> On 19.10.2022 02:26, Gavin Shan wrote: > On 10/18/22 11:56 PM, Maciej S. Szmigiero wrote: >> On 18.10.2022 02:51, Gavin Shan wrote: >>> On 10/18/22 8:46 AM, Gavin Shan wrote: >>>> On 10/18/22 5:31 AM, Maciej S. Szmigiero wrote: >>>>> On 14.10.2022 09:19, Gavin Shan wrote: >>>>>> The test case is obviously broken on aarch64 because non-4KB guest >>>>>> page size is supported. The guest page size on aarch64 could be 4KB, >>>>>> 16KB or 64KB. >>>>>> >>>>>> This supports variable guest page size, mostly for aarch64. >>>>>> >>>>>>    - The host determines the guest page size when virtual machine is >>>>>>      created. The value is also passed to guest through the synchronization >>>>>>      area. >>>>>> >>>>>>    - The number of guest pages are unknown until the virtual machine >>>>>>      is to be created. So all the related macros are dropped. Instead, >>>>>>      their values are dynamically calculated based on the guest page >>>>>>      size. >>>>>> >>>>>>    - The static checks on memory sizes and pages becomes dependent >>>>>>      on guest page size, which is unknown until the virtual machine >>>>>>      is about to be created. So all the static checks are converted >>>>>>      to dynamic checks, done in check_memory_sizes(). >>>>>> >>>>>>    - As the address passed to madvise() should be aligned to host page, >>>>>>      the size of page chunk is automatically selected, other than one >>>>>>      page. >>>>>> >>>>>>    - All other changes included in this patch are almost mechanical >>>>>>      replacing '4096' with 'guest_page_size'. >>>>>> >>>>>> Signed-off-by: Gavin Shan >>>>>> --- >>>>>>   .../testing/selftests/kvm/memslot_perf_test.c | 191 +++++++++++------- >>>>>>   1 file changed, 115 insertions(+), 76 deletions(-) >>>>>> >>>>>> diff --git a/tools/testing/selftests/kvm/memslot_perf_test.c b/tools/testing/selftests/kvm/memslot_perf_test.c >>>>>> index d5aa9148f96f..d587bd952ff9 100644 >>>>>> --- a/tools/testing/selftests/kvm/memslot_perf_test.c >>>>>> +++ b/tools/testing/selftests/kvm/memslot_perf_test.c >> (...) >>>>>> @@ -77,8 +61,7 @@ static_assert(MEM_TEST_UNMAP_SIZE_PAGES % >>>>>>    * for the total size of 25 pages. >>>>>>    * Hence, the maximum size here is 50 pages. >>>>>>    */ >>>>>> -#define MEM_TEST_MOVE_SIZE_PAGES    (50) >>>>>> -#define MEM_TEST_MOVE_SIZE        (MEM_TEST_MOVE_SIZE_PAGES * 4096) >>>>>> +#define MEM_TEST_MOVE_SIZE        0x32000 >>>>> >>>>> The above number seems less readable than an explicit value of 50 pages. >>>>> >>>>> In addition to that, it's 50 pages only with 4k page size, so at least >>>>> the comment above needs to be updated to reflect this fact. >>>>> >>>> >>>> Yeah, I will change the comments like below in next revision. >>>> >>>>   /* >>>>    * When running this test with 32k memslots, actually 32763 excluding >>>>    * the reserved memory slot 0, the memory for each slot is 0x4000 bytes. >>>>    * The last slot contains 0x19000 bytes memory. Hence, the maximum size >>>>    * here is 0x32000 bytes. >>>>    */ >>>> >>> >>> I will replace those numbers with readable ones like below :) >>> >>> /* >>>   * When running this test with 32k memslots, actually 32763 excluding >>>   * the reserved memory slot 0, the memory for each slot is 16KB. The >>>   * last slot contains 100KB memory with the remaining 84KB. Hence, >>>   * the maximum size is double of that (200KB) >>>   */ >> >> Still, these numbers are for x86, which has KVM_INTERNAL_MEM_SLOTS >> defined as 3. >> >> As far as I can see aarch64 has KVM_INTERNAL_MEM_SLOTS equal to 0, so >> this arch has 32766 slot available for the test memory. >> >> Quick calculations show that this will result in 112 KiB of memory in >> the last slot for 4 KiB page size (while for 64 KiB page size the >> maximum slot count for this test is 8192 anyway - not counting slot 0). >> > > It seems your calculation had (512MB+64KB), instead of (512MB+4KB). > In this particular patch, we still have (512MB+4KB). How about to change > like below in this patch. In next patch, it's adjusted accordingly after > we have (512MB+64KB). My review comment above referred to the final MEM_SIZE value after the whole series, so 512 MiB + 64 KiB. I placed that review comment on patch 4 since it's the only patch in this series that modified the code comment about MEM_TEST_MOVE_SIZE. > > (1) In this patch, the comment is changed to as below > >     /* >      * We have different number of memory slots, excluding the reserved >      * memory slot 0, on various architectures and configurations. The >      * memory size in this test is calculated by doubling the maximal >      * memory size in last memory slot, with alignment to the largest >      * supported page size (64KB). >      * >      * architecture   slots    memory-per-slot    memory-on-last-slot >      * -------------------------------------------------------------- >      * x86-4KB        32763    16KB               100KB >      * arm64-4KB      32766    16KB               52KB >      * arm64-64KB     8192     64KB               64KB >      */ >     #define MEM_TEST_MOVE_SIZE    0x40000           /* 256KB */ > > (2) In the next patch, where we have (512MB+64KB) after the various >     memory sizes are consolidated, It is adjusted accordingly as below. > >     /* >      * We have different number of memory slots, excluding the reserved >      * memory slot 0, on various architectures and configurations. The >      * memory size in this test is calculated by doubling the maximal >      * memory size in last memory slot, with alignment to the largest >      * supported page size (64KB). >      * >      * architecture   slots    memory-per-slot    memory-on-last-slot >      * -------------------------------------------------------------- >      * x86-4KB        32763    16KB               160KB >      * arm64-4KB      32766    16KB               112KB >      * arm64-64KB     8192     64KB               128KB >      */ >     #define MEM_TEST_MOVE_SIZE    0x50000           /* 320KB */ Now MEM_TEST_MOVE_SIZE is too high for arm64-4KB and arm64-64KB cases (it needs 160 KiB in the last slot but has less available in these two cases). Using a test size of 192 KiB instead seems like a small difference from the original size of 200 KiB, while still being aligned to 64 KiB. The move benchmarks runtime difference on x86-4KB with this size (compared to sizes of 200 KiB and 320 KiB) seems to be negligible. Since it's an odd number of 64 KiB pages (3) the code that halves this number of pages will need to be adjusted to operate on raw sizes instead. I can see a single block of code that will need such adjustment: > if (lastpages < move_pages / 2) { > *maxslots = 0; > return false; > } Similar remark goes for the case (1) above, where you'll probably need to use 64 KiB test area size (it's only an intermediate form of code before the final patch changes this value so it's fine if it doesn't perform as well as the final form of the code). > Thanks, > Gavin > Thanks, Maciej