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=-13.5 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,INCLUDES_PATCH,MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_2 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 BBC70C4360C for ; Tue, 8 Oct 2019 07:46:28 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (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 73F482053B for ; Tue, 8 Oct 2019 07:46:28 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="Sb2zNBEL" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 73F482053B 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+infradead-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=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Subject:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=GHic7oNCeRcREW75a56S75Mh3skBh6b6Bw+FLi7FBKM=; b=Sb2zNBEL6Nggi1 VLD5a5DXfa9ZqibY2F925/htZomspv5gsknU9H0KyrphHzlufvUJ0+L7N1t3lKL6mPiiXmFbx/OhH mt+Yxerw1VUxngMXzGyJSYXq6zRUVAr4QFzlE8kElVfV4Oit+YLmTOQfRWCTgO2AmVM7Ao7E5hJfQ LFAR+fNO5z4v5bCe0t50dldpmO54ViFLpMHpkbAnAx9Bn8EA6hvgKm/FhzjBHKva4xBe9H+zaAtKq EVrgMsMQb73tDJkaPw26DlZMs2DRHJKmWH2D/t2peKZdX8k/mCyzHp3SXNWye/y7TpzAM9MoSpt0F sLkZJ5BvfaSoPD/zDw3w==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.2 #3 (Red Hat Linux)) id 1iHkCJ-0002Qs-FX; Tue, 08 Oct 2019 07:46:19 +0000 Received: from inca-roads.misterjones.org ([213.251.177.50]) by bombadil.infradead.org with esmtps (Exim 4.92.2 #3 (Red Hat Linux)) id 1iHkCE-0002QI-Gw for linux-arm-kernel@lists.infradead.org; Tue, 08 Oct 2019 07:46:16 +0000 Received: from 78.163-31-62.static.virginmediabusiness.co.uk ([62.31.163.78] helo=why) by cheepnis.misterjones.org with esmtpsa (TLSv1.2:AES256-GCM-SHA384:256) (Exim 4.80) (envelope-from ) id 1iHkC5-0001oY-Va; Tue, 08 Oct 2019 09:46:06 +0200 Date: Tue, 8 Oct 2019 08:46:04 +0100 From: Marc Zyngier To: "Justin He (Arm Technology China)" Subject: Re: [PATCH v10 2/3] arm64: mm: implement arch_faults_on_old_pte() on arm64 Message-ID: <20191008084604.7db2a123@why> In-Reply-To: References: <20190930015740.84362-1-justin.he@arm.com> <20190930015740.84362-3-justin.he@arm.com> <20191001125031.7ddm5dlwss6m3dth@willie-the-truck> <20191001143219.018281be@why> Organization: Approximate X-Mailer: Claws Mail 3.17.4 (GTK+ 2.24.32; x86_64-pc-linux-gnu) MIME-Version: 1.0 X-SA-Exim-Connect-IP: 62.31.163.78 X-SA-Exim-Rcpt-To: Justin.He@arm.com, will@kernel.org, Catalin.Marinas@arm.com, Mark.Rutland@arm.com, James.Morse@arm.com, willy@infradead.org, kirill.shutemov@linux.intel.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, punitagrawal@gmail.com, tglx@linutronix.de, akpm@linux-foundation.org, hejianet@gmail.com, Kaly.Xin@arm.com, nd@arm.com X-SA-Exim-Mail-From: maz@kernel.org X-SA-Exim-Scanned: No (on cheepnis.misterjones.org); SAEximRunCond expanded to false X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20191008_004614_711432_45863138 X-CRM114-Status: GOOD ( 29.60 ) 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: Mark Rutland , "Kaly Xin \(Arm Technology China\)" , Catalin Marinas , "linux-kernel@vger.kernel.org" , Matthew Wilcox , "linux-mm@kvack.org" , James Morse , "linux-arm-kernel@lists.infradead.org" , Punit Agrawal , "hejianet@gmail.com" , Thomas Gleixner , nd , Will Deacon , Andrew Morton , "Kirill A. Shutemov" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gVHVlLCA4IE9jdCAyMDE5IDAxOjU1OjA0ICswMDAwCiJKdXN0aW4gSGUgKEFybSBUZWNobm9s b2d5IENoaW5hKSIgPEp1c3Rpbi5IZUBhcm0uY29tPiB3cm90ZToKCj4gSGkgV2lsbCBhbmQgTWFy Ywo+IAo+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0KPiA+IEZyb206IE1hcmMgWnluZ2ll ciA8bWF6QGtlcm5lbC5vcmc+Cj4gPiBTZW50OiAyMDE55bm0MTDmnIgx5pelIDIxOjMyCj4gPiBU bzogV2lsbCBEZWFjb24gPHdpbGxAa2VybmVsLm9yZz4KPiA+IENjOiBKdXN0aW4gSGUgKEFybSBU ZWNobm9sb2d5IENoaW5hKSA8SnVzdGluLkhlQGFybS5jb20+OyBDYXRhbGluCj4gPiBNYXJpbmFz IDxDYXRhbGluLk1hcmluYXNAYXJtLmNvbT47IE1hcmsgUnV0bGFuZAo+ID4gPE1hcmsuUnV0bGFu ZEBhcm0uY29tPjsgSmFtZXMgTW9yc2UgPEphbWVzLk1vcnNlQGFybS5jb20+Owo+ID4gTWF0dGhl dyBXaWxjb3ggPHdpbGx5QGluZnJhZGVhZC5vcmc+OyBLaXJpbGwgQS4gU2h1dGVtb3YKPiA+IDxr aXJpbGwuc2h1dGVtb3ZAbGludXguaW50ZWwuY29tPjsgbGludXgtYXJtLWtlcm5lbEBsaXN0cy5p bmZyYWRlYWQub3JnOwo+ID4gbGludXgta2VybmVsQHZnZXIua2VybmVsLm9yZzsgbGludXgtbW1A a3ZhY2sub3JnOyBQdW5pdCBBZ3Jhd2FsCj4gPiA8cHVuaXRhZ3Jhd2FsQGdtYWlsLmNvbT47IFRo b21hcyBHbGVpeG5lciA8dGdseEBsaW51dHJvbml4LmRlPjsKPiA+IEFuZHJldyBNb3J0b24gPGFr cG1AbGludXgtZm91bmRhdGlvbi5vcmc+OyBoZWppYW5ldEBnbWFpbC5jb207IEthbHkKPiA+IFhp biAoQXJtIFRlY2hub2xvZ3kgQ2hpbmEpIDxLYWx5LlhpbkBhcm0uY29tPgo+ID4gU3ViamVjdDog UmU6IFtQQVRDSCB2MTAgMi8zXSBhcm02NDogbW06IGltcGxlbWVudAo+ID4gYXJjaF9mYXVsdHNf b25fb2xkX3B0ZSgpIG9uIGFybTY0Cj4gPiAKPiA+IE9uIFR1ZSwgMSBPY3QgMjAxOSAxMzo1MDoz MiArMDEwMAo+ID4gV2lsbCBEZWFjb24gPHdpbGxAa2VybmVsLm9yZz4gd3JvdGU6Cj4gPiAgIAo+ ID4gPiBPbiBNb24sIFNlcCAzMCwgMjAxOSBhdCAwOTo1NzozOUFNICswODAwLCBKaWEgSGUgd3Jv dGU6ICAKPiA+ID4gPiBPbiBhcm02NCB3aXRob3V0IGhhcmR3YXJlIEFjY2VzcyBGbGFnLCBjb3B5 aW5nIGZyb211c2VyIHdpbGwgZmFpbCAgCj4gPiBiZWNhdXNlICAKPiA+ID4gPiB0aGUgcHRlIGlz IG9sZCBhbmQgY2Fubm90IGJlIG1hcmtlZCB5b3VuZy4gU28gd2UgYWx3YXlzIGVuZCB1cCB3aXRo ICAKPiA+IHplcm9lZCAgCj4gPiA+ID4gcGFnZSBhZnRlciBmb3JrKCkgKyBDb1cgZm9yIHBmbiBt YXBwaW5ncy4gd2UgZG9uJ3QgYWx3YXlzIGhhdmUgYQo+ID4gPiA+IGhhcmR3YXJlLW1hbmFnZWQg YWNjZXNzIGZsYWcgb24gYXJtNjQuCj4gPiA+ID4KPiA+ID4gPiBIZW5jZSBpbXBsZW1lbnQgYXJj aF9mYXVsdHNfb25fb2xkX3B0ZSBvbiBhcm02NCB0byBpbmRpY2F0ZSB0aGF0IGl0ICAKPiA+IG1p Z2h0ICAKPiA+ID4gPiBjYXVzZSBwYWdlIGZhdWx0IHdoZW4gYWNjZXNzaW5nIG9sZCBwdGUuCj4g PiA+ID4KPiA+ID4gPiBTaWduZWQtb2ZmLWJ5OiBKaWEgSGUgPGp1c3Rpbi5oZUBhcm0uY29tPgo+ ID4gPiA+IFJldmlld2VkLWJ5OiBDYXRhbGluIE1hcmluYXMgPGNhdGFsaW4ubWFyaW5hc0Bhcm0u Y29tPgo+ID4gPiA+IC0tLQo+ID4gPiA+ICBhcmNoL2FybTY0L2luY2x1ZGUvYXNtL3BndGFibGUu aCB8IDE0ICsrKysrKysrKysrKysrCj4gPiA+ID4gIDEgZmlsZSBjaGFuZ2VkLCAxNCBpbnNlcnRp b25zKCspCj4gPiA+ID4KPiA+ID4gPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm02NC9pbmNsdWRlL2Fz bS9wZ3RhYmxlLmggIAo+ID4gYi9hcmNoL2FybTY0L2luY2x1ZGUvYXNtL3BndGFibGUuaCAgCj4g PiA+ID4gaW5kZXggNzU3NmRmMDBlYjUwLi5lOTZmYjgyZjYyZGUgMTAwNjQ0Cj4gPiA+ID4gLS0t IGEvYXJjaC9hcm02NC9pbmNsdWRlL2FzbS9wZ3RhYmxlLmgKPiA+ID4gPiArKysgYi9hcmNoL2Fy bTY0L2luY2x1ZGUvYXNtL3BndGFibGUuaAo+ID4gPiA+IEBAIC04ODUsNiArODg1LDIwIEBAIHN0 YXRpYyBpbmxpbmUgdm9pZCB1cGRhdGVfbW11X2NhY2hlKHN0cnVjdCAgCj4gPiB2bV9hcmVhX3N0 cnVjdCAqdm1hLCAgCj4gPiA+ID4gICNkZWZpbmUgcGh5c190b190dGJyKGFkZHIpCShhZGRyKQo+ ID4gPiA+ICAjZW5kaWYKPiA+ID4gPgo+ID4gPiA+ICsvKgo+ID4gPiA+ICsgKiBPbiBhcm02NCB3 aXRob3V0IGhhcmR3YXJlIEFjY2VzcyBGbGFnLCBjb3B5aW5nIGZyb20gdXNlciB3aWxsIGZhaWwg IAo+ID4gYmVjYXVzZSAgCj4gPiA+ID4gKyAqIHRoZSBwdGUgaXMgb2xkIGFuZCBjYW5ub3QgYmUg bWFya2VkIHlvdW5nLiBTbyB3ZSBhbHdheXMgZW5kIHVwICAKPiA+IHdpdGggemVyb2VkICAKPiA+ ID4gPiArICogcGFnZSBhZnRlciBmb3JrKCkgKyBDb1cgZm9yIHBmbiBtYXBwaW5ncy4gV2UgZG9u J3QgYWx3YXlzIGhhdmUgYQo+ID4gPiA+ICsgKiBoYXJkd2FyZS1tYW5hZ2VkIGFjY2VzcyBmbGFn IG9uIGFybTY0Lgo+ID4gPiA+ICsgKi8KPiA+ID4gPiArc3RhdGljIGlubGluZSBib29sIGFyY2hf ZmF1bHRzX29uX29sZF9wdGUodm9pZCkKPiA+ID4gPiArewo+ID4gPiA+ICsJV0FSTl9PTihwcmVl bXB0aWJsZSgpKTsKPiA+ID4gPiArCj4gPiA+ID4gKwlyZXR1cm4gIWNwdV9oYXNfaHdfYWYoKTsK PiA+ID4gPiArfSAgCj4gPiA+Cj4gPiA+IERvZXMgdGhpcyB3b3JrIGNvcnJlY3RseSBpbiBhIEtW TSBndWVzdD8gKGkuZS4gaXMgdGhlIE1NRlIgc2FuaXRpc2VkIGluICAKPiA+IHRoYXQgIAo+ID4g PiBjYXNlLCBkZXNwaXRlIG5vdCBiZWluZyB0aGUgY2FzZSBvbiB0aGUgaG9zdD8pICAKPiA+IAo+ ID4gWXVwLCBhbGwgdGhlIDY0Yml0IE1NRlJzIGFyZSB0cmFwcGVkIChIQ1JfRUwyLlRJRDMgaXMg c2V0IGZvciBhbgo+ID4gQUFyY2g2NCBndWVzdCksIGFuZCB3ZSByZXR1cm4gdGhlIHNhbml0aXNl ZCB2ZXJzaW9uLiAgCj4gVGhhbmtzIGZvciBNYXJjJ3MgZXhwbGFuYXRpb24uIEkgdmVyaWZpZWQg dGhlIHBhdGNoIHNlcmllcyBvbiBhIGt2bSBndWVzdCAoLU0gdmlydCkKPiB3aXRoIHNpbXVsYXRl ZCBudmRpbW0gZGV2aWNlIGNyZWF0ZWQgYnkgcWVtdS4gVGhlIGhvc3QgaXMgVGh1bmRlclgyIGFh cmNoNjQuCj4gCj4gPiAKPiA+IEJ1dCB0aGF0J3MgYW4gaW50ZXJlc3RpbmcgcmVtYXJrOiB3ZSdy ZSBub3cgdHJhZGluZyBhbiBleHRyYSBmYXVsdCBvbgo+ID4gQ1BVcyB0aGF0IGRvIG5vdCBzdXBw b3J0IEhXQUZEQlMgZm9yIGEgZ3VhcmFudGVlZCB0cmFwIGZvciBlYWNoIGFuZAo+ID4gZXZlcnkg Z3Vlc3QgdW5kZXIgdGhlIHN1biB0aGF0IHdpbGwgaGl0IHRoZSBDT1cgcGF0aC4uLgo+ID4gCj4g PiBNeSBndXQgZmVlbGluZyBpcyB0aGF0IHRoaXMgaXMgZ29pbmcgdG8gYmUgcHJldHR5IHZpc2li bGUuIEppYSwgZG8geW91Cj4gPiBoYXZlIGFueSBudW1iZXJzIGZvciB0aGlzIGtpbmQgb2YgYmVo YXZpb3VyPyAgCj4gSXQgaXMgbm90IGEgY29tbW9uIENPVyBwYXRoLCBidXQgYSBDT1cgZm9yIFBG TiBtYXBwaW5nIHBhZ2VzIG9ubHkuCj4gSSBhZGQgYSBnX2NvdW50ZXIgYmVmb3JlIHB0ZV9ta3lv dW5nIGluIGZvcmNlX21reW91bmd7fSB3aGVuIHRlc3RpbmcgCj4gdm1tYWxsb2NfZm9yayBhdCBb MV0uCj4gCj4gSW4gdGhpcyB0ZXN0IGNhc2UsIGl0IHdpbGwgc3RhcnQgTSBmb3JrIHByb2Nlc3Nl cyBhbmQgTiBwdGhyZWFkcy4gVGhlIGRlZmF1bHQgaXMKPiBNPTIsTj00LiB0aGUgZ19jb3VudGVy IGlzIGFib3V0IDI0MSwgdGhhdCBpcyBpdCB3aWxsIGhpdCBteSBwYXRjaCBzZXJpZXMgZm9yIDI0 MQo+IHRpbWVzLgo+IElmIEkgc2V0IE09MjAgYW5kIE49NDAgZm9yIFRFU1QzLCB0aGUgZ19jb3Vu dGVyIGlzIGFib3V0IDE0OTIuCgpJIG11c3QgY29uZmVzcyBJJ20gbm90IHNvIG11Y2ggaW50ZXJl c3RlZCBpbiByYW5kb20gbWljcm9iZW5jaG1hcmtzLApidXQgbW9yZSBpbiBhY3R1YWwgYXBwbGlj YXRpb25zIHRoYXQgY291bGQgcG90ZW50aWFsbHkgYmUgaW1wYWN0ZWQgYnkKdGhpcy4gVGhlIG51 bWJlcnMgeW91J3JlIHF1b3RpbmcgaGVyZSBzZWVtIHByZXR0eSBzbWFsbCwgd2hpY2ggd291bGQK aW5kaWNhdGUgYSBsb3cgb3ZlcmhlYWQsIGJ1dCB0aGF0J3Mgbm90IGluZGljYXRpdmUgb2Ygd2hh dCB3b3VsZCBoYXBwZW4KaW4gcmVhbCBsaWZlLgoKSSBndWVzcyB0aGF0IHdlIGNhbiBsZWF2ZSBp dCBhdCB0aGF0IGZvciBub3csIGFuZCB0dXJuIGl0IGludG8gYSBDUFUKZmVhdHVyZSAod2l0aCB0 aGUgYXNzb2NpYXRlZCBzdGF0aWMga2V5KSBpZiB0aGlzIHNob3dzIGFueXdoZXJlLgoKVGhhbmtz LAoKCU0uCgoKPiAgIAo+IFsxXSBodHRwczovL2dpdGh1Yi5jb20vcG1lbS9wbWRrL3RyZWUvbWFz dGVyL3NyYy90ZXN0L3ZtbWFsbG9jX2ZvcmsKPiAKPiAKPiAtLQo+IENoZWVycywKPiBKdXN0aW4g KEppYSBIZSkKPiAKLS0gCkphenogaXMgbm90IGRlYWQuIEl0IGp1c3Qgc21lbGxzIGZ1bm55Li4u CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1h cm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5v cmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0t a2VybmVsCg== 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=-13.5 required=3.0 tests=INCLUDES_PATCH, MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_2 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 041D5C10F14 for ; Tue, 8 Oct 2019 07:46:17 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id B97372067B for ; Tue, 8 Oct 2019 07:46:16 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B97372067B Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 676E68E0005; Tue, 8 Oct 2019 03:46:16 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 5FFAC8E0003; Tue, 8 Oct 2019 03:46:16 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 49FD98E0005; Tue, 8 Oct 2019 03:46:16 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0099.hostedemail.com [216.40.44.99]) by kanga.kvack.org (Postfix) with ESMTP id 200638E0003 for ; Tue, 8 Oct 2019 03:46:16 -0400 (EDT) Received: from smtpin07.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with SMTP id 9B32E180AD803 for ; Tue, 8 Oct 2019 07:46:15 +0000 (UTC) X-FDA: 76019834310.07.screw59_70c86f1e10132 X-HE-Tag: screw59_70c86f1e10132 X-Filterd-Recvd-Size: 7273 Received: from inca-roads.misterjones.org (inca-roads.misterjones.org [213.251.177.50]) by imf17.hostedemail.com (Postfix) with ESMTP for ; Tue, 8 Oct 2019 07:46:14 +0000 (UTC) Received: from 78.163-31-62.static.virginmediabusiness.co.uk ([62.31.163.78] helo=why) by cheepnis.misterjones.org with esmtpsa (TLSv1.2:AES256-GCM-SHA384:256) (Exim 4.80) (envelope-from ) id 1iHkC5-0001oY-Va; Tue, 08 Oct 2019 09:46:06 +0200 Date: Tue, 8 Oct 2019 08:46:04 +0100 From: Marc Zyngier To: "Justin He (Arm Technology China)" Cc: Will Deacon , Catalin Marinas , Mark Rutland , James Morse , Matthew Wilcox , "Kirill A. Shutemov" , "linux-arm-kernel@lists.infradead.org" , "linux-kernel@vger.kernel.org" , "linux-mm@kvack.org" , Punit Agrawal , Thomas Gleixner , Andrew Morton , "hejianet@gmail.com" , "Kaly Xin (Arm Technology China)" , nd Subject: Re: [PATCH v10 2/3] arm64: mm: implement arch_faults_on_old_pte() on arm64 Message-ID: <20191008084604.7db2a123@why> In-Reply-To: References: <20190930015740.84362-1-justin.he@arm.com> <20190930015740.84362-3-justin.he@arm.com> <20191001125031.7ddm5dlwss6m3dth@willie-the-truck> <20191001143219.018281be@why> Organization: Approximate X-Mailer: Claws Mail 3.17.4 (GTK+ 2.24.32; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 62.31.163.78 X-SA-Exim-Rcpt-To: Justin.He@arm.com, will@kernel.org, Catalin.Marinas@arm.com, Mark.Rutland@arm.com, James.Morse@arm.com, willy@infradead.org, kirill.shutemov@linux.intel.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, punitagrawal@gmail.com, tglx@linutronix.de, akpm@linux-foundation.org, hejianet@gmail.com, Kaly.Xin@arm.com, nd@arm.com X-SA-Exim-Mail-From: maz@kernel.org X-SA-Exim-Scanned: No (on cheepnis.misterjones.org); SAEximRunCond expanded to false X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Tue, 8 Oct 2019 01:55:04 +0000 "Justin He (Arm Technology China)" wrote: > Hi Will and Marc >=20 > > -----Original Message----- > > From: Marc Zyngier > > Sent: 2019=E5=B9=B410=E6=9C=881=E6=97=A5 21:32 > > To: Will Deacon > > Cc: Justin He (Arm Technology China) ; Catalin > > Marinas ; Mark Rutland > > ; James Morse ; > > Matthew Wilcox ; Kirill A. Shutemov > > ; linux-arm-kernel@lists.infradead.org; > > linux-kernel@vger.kernel.org; linux-mm@kvack.org; Punit Agrawal > > ; Thomas Gleixner ; > > Andrew Morton ; hejianet@gmail.com; Kaly > > Xin (Arm Technology China) > > Subject: Re: [PATCH v10 2/3] arm64: mm: implement > > arch_faults_on_old_pte() on arm64 > >=20 > > On Tue, 1 Oct 2019 13:50:32 +0100 > > Will Deacon wrote: > > =20 > > > On Mon, Sep 30, 2019 at 09:57:39AM +0800, Jia He wrote: =20 > > > > On arm64 without hardware Access Flag, copying fromuser will fail = =20 > > because =20 > > > > the pte is old and cannot be marked young. So we always end up with= =20 > > zeroed =20 > > > > page after fork() + CoW for pfn mappings. we don't always have a > > > > hardware-managed access flag on arm64. > > > > > > > > Hence implement arch_faults_on_old_pte on arm64 to indicate that it= =20 > > might =20 > > > > cause page fault when accessing old pte. > > > > > > > > Signed-off-by: Jia He > > > > Reviewed-by: Catalin Marinas > > > > --- > > > > arch/arm64/include/asm/pgtable.h | 14 ++++++++++++++ > > > > 1 file changed, 14 insertions(+) > > > > > > > > diff --git a/arch/arm64/include/asm/pgtable.h =20 > > b/arch/arm64/include/asm/pgtable.h =20 > > > > index 7576df00eb50..e96fb82f62de 100644 > > > > --- a/arch/arm64/include/asm/pgtable.h > > > > +++ b/arch/arm64/include/asm/pgtable.h > > > > @@ -885,6 +885,20 @@ static inline void update_mmu_cache(struct =20 > > vm_area_struct *vma, =20 > > > > #define phys_to_ttbr(addr) (addr) > > > > #endif > > > > > > > > +/* > > > > + * On arm64 without hardware Access Flag, copying from user will f= ail =20 > > because =20 > > > > + * the pte is old and cannot be marked young. So we always end up = =20 > > with zeroed =20 > > > > + * page after fork() + CoW for pfn mappings. We don't always have a > > > > + * hardware-managed access flag on arm64. > > > > + */ > > > > +static inline bool arch_faults_on_old_pte(void) > > > > +{ > > > > + WARN_ON(preemptible()); > > > > + > > > > + return !cpu_has_hw_af(); > > > > +} =20 > > > > > > Does this work correctly in a KVM guest? (i.e. is the MMFR sanitised = in =20 > > that =20 > > > case, despite not being the case on the host?) =20 > >=20 > > Yup, all the 64bit MMFRs are trapped (HCR_EL2.TID3 is set for an > > AArch64 guest), and we return the sanitised version. =20 > Thanks for Marc's explanation. I verified the patch series on a kvm guest= (-M virt) > with simulated nvdimm device created by qemu. The host is ThunderX2 aarch= 64. >=20 > >=20 > > But that's an interesting remark: we're now trading an extra fault on > > CPUs that do not support HWAFDBS for a guaranteed trap for each and > > every guest under the sun that will hit the COW path... > >=20 > > My gut feeling is that this is going to be pretty visible. Jia, do you > > have any numbers for this kind of behaviour? =20 > It is not a common COW path, but a COW for PFN mapping pages only. > I add a g_counter before pte_mkyoung in force_mkyoung{} when testing=20 > vmmalloc_fork at [1]. >=20 > In this test case, it will start M fork processes and N pthreads. The def= ault is > M=3D2,N=3D4. the g_counter is about 241, that is it will hit my patch ser= ies for 241 > times. > If I set M=3D20 and N=3D40 for TEST3, the g_counter is about 1492. I must confess I'm not so much interested in random microbenchmarks, but more in actual applications that could potentially be impacted by this. The numbers you're quoting here seem pretty small, which would indicate a low overhead, but that's not indicative of what would happen in real life. I guess that we can leave it at that for now, and turn it into a CPU feature (with the associated static key) if this shows anywhere. Thanks, M. > =20 > [1] https://github.com/pmem/pmdk/tree/master/src/test/vmmalloc_fork >=20 >=20 > -- > Cheers, > Justin (Jia He) >=20 --=20 Jazz is not dead. It just smells funny...