From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jerome Glisse Subject: Re: [PATCH v6 7/8] mm/mmu_notifier: pass down vma and reasons why mmu notifier is happening v2 Date: Thu, 11 Apr 2019 10:39:19 -0400 Message-ID: <20190411143918.GA4266@redhat.com> References: <20190326164747.24405-1-jglisse@redhat.com> <20190326164747.24405-8-jglisse@redhat.com> <20190410234124.GE22989@iweiny-DESK2.sc.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20190410234124.GE22989@iweiny-DESK2.sc.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Ira Weiny Cc: Jan Kara , kvm@vger.kernel.org, Radim =?utf-8?B?S3LEjW3DocWZ?= , dri-devel@lists.freedesktop.org, Michal Hocko , linux-mm@kvack.org, Ross Zwisler , Andrea Arcangeli , linux-rdma@vger.kernel.org, Jason Gunthorpe , Ralph Campbell , Arnd Bergmann , John Hubbard , Peter Xu , Rodrigo Vivi , Dan Williams , Felix Kuehling , linux-kernel@vger.kernel.org, Paolo Bonzini , Andrew Morton , Christian =?iso-8859-1?Q?K=F6nig?= List-Id: linux-rdma@vger.kernel.org T24gV2VkLCBBcHIgMTAsIDIwMTkgYXQgMDQ6NDE6NTdQTSAtMDcwMCwgSXJhIFdlaW55IHdyb3Rl Ogo+IE9uIFR1ZSwgTWFyIDI2LCAyMDE5IGF0IDEyOjQ3OjQ2UE0gLTA0MDAsIEplcm9tZSBHbGlz c2Ugd3JvdGU6Cj4gPiBGcm9tOiBKw6lyw7RtZSBHbGlzc2UgPGpnbGlzc2VAcmVkaGF0LmNvbT4K PiA+IAo+ID4gQ1BVIHBhZ2UgdGFibGUgdXBkYXRlIGNhbiBoYXBwZW5zIGZvciBtYW55IHJlYXNv bnMsIG5vdCBvbmx5IGFzIGEgcmVzdWx0Cj4gPiBvZiBhIHN5c2NhbGwgKG11bm1hcCgpLCBtcHJv dGVjdCgpLCBtcmVtYXAoKSwgbWFkdmlzZSgpLCAuLi4pIGJ1dCBhbHNvCj4gPiBhcyBhIHJlc3Vs dCBvZiBrZXJuZWwgYWN0aXZpdGllcyAobWVtb3J5IGNvbXByZXNzaW9uLCByZWNsYWltLCBtaWdy YXRpb24sCj4gPiAuLi4pLgo+ID4gCj4gPiBVc2VycyBvZiBtbXUgbm90aWZpZXIgQVBJIHRyYWNr IGNoYW5nZXMgdG8gdGhlIENQVSBwYWdlIHRhYmxlIGFuZCB0YWtlCj4gPiBzcGVjaWZpYyBhY3Rp b24gZm9yIHRoZW0uIFdoaWxlIGN1cnJlbnQgQVBJIG9ubHkgcHJvdmlkZSByYW5nZSBvZiB2aXJ0 dWFsCj4gPiBhZGRyZXNzIGFmZmVjdGVkIGJ5IHRoZSBjaGFuZ2UsIG5vdCB3aHkgdGhlIGNoYW5n ZXMgaXMgaGFwcGVuaW5nCj4gPiAKPiA+IFRoaXMgcGF0Y2ggaXMganVzdCBwYXNzaW5nIGRvd24g dGhlIG5ldyBpbmZvcm1hdGlvbnMgYnkgYWRkaW5nIGl0IHRvIHRoZQo+ID4gbW11X25vdGlmaWVy X3JhbmdlIHN0cnVjdHVyZS4KPiA+IAo+ID4gQ2hhbmdlcyBzaW5jZSB2MToKPiA+ICAgICAtIElu aXRpYWxpemUgZmxhZ3MgZmllbGQgZnJvbSBtbXVfbm90aWZpZXJfcmFuZ2VfaW5pdCgpIGFyZ3Vt ZW50cwo+ID4gCj4gPiBTaWduZWQtb2ZmLWJ5OiBKw6lyw7RtZSBHbGlzc2UgPGpnbGlzc2VAcmVk aGF0LmNvbT4KPiA+IENjOiBBbmRyZXcgTW9ydG9uIDxha3BtQGxpbnV4LWZvdW5kYXRpb24ub3Jn Pgo+ID4gQ2M6IGxpbnV4LW1tQGt2YWNrLm9yZwo+ID4gQ2M6IENocmlzdGlhbiBLw7ZuaWcgPGNo cmlzdGlhbi5rb2VuaWdAYW1kLmNvbT4KPiA+IENjOiBKb29uYXMgTGFodGluZW4gPGpvb25hcy5s YWh0aW5lbkBsaW51eC5pbnRlbC5jb20+Cj4gPiBDYzogSmFuaSBOaWt1bGEgPGphbmkubmlrdWxh QGxpbnV4LmludGVsLmNvbT4KPiA+IENjOiBSb2RyaWdvIFZpdmkgPHJvZHJpZ28udml2aUBpbnRl bC5jb20+Cj4gPiBDYzogSmFuIEthcmEgPGphY2tAc3VzZS5jej4KPiA+IENjOiBBbmRyZWEgQXJj YW5nZWxpIDxhYXJjYW5nZUByZWRoYXQuY29tPgo+ID4gQ2M6IFBldGVyIFh1IDxwZXRlcnhAcmVk aGF0LmNvbT4KPiA+IENjOiBGZWxpeCBLdWVobGluZyA8RmVsaXguS3VlaGxpbmdAYW1kLmNvbT4K PiA+IENjOiBKYXNvbiBHdW50aG9ycGUgPGpnZ0BtZWxsYW5veC5jb20+Cj4gPiBDYzogUm9zcyBa d2lzbGVyIDx6d2lzbGVyQGtlcm5lbC5vcmc+Cj4gPiBDYzogRGFuIFdpbGxpYW1zIDxkYW4uai53 aWxsaWFtc0BpbnRlbC5jb20+Cj4gPiBDYzogUGFvbG8gQm9uemluaSA8cGJvbnppbmlAcmVkaGF0 LmNvbT4KPiA+IENjOiBSYWRpbSBLcsSNbcOhxZkgPHJrcmNtYXJAcmVkaGF0LmNvbT4KPiA+IENj OiBNaWNoYWwgSG9ja28gPG1ob2Nrb0BrZXJuZWwub3JnPgo+ID4gQ2M6IENocmlzdGlhbiBLb2Vu aWcgPGNocmlzdGlhbi5rb2VuaWdAYW1kLmNvbT4KPiA+IENjOiBSYWxwaCBDYW1wYmVsbCA8cmNh bXBiZWxsQG52aWRpYS5jb20+Cj4gPiBDYzogSm9obiBIdWJiYXJkIDxqaHViYmFyZEBudmlkaWEu Y29tPgo+ID4gQ2M6IGt2bUB2Z2VyLmtlcm5lbC5vcmcKPiA+IENjOiBkcmktZGV2ZWxAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCj4gPiBDYzogbGludXgtcmRtYUB2Z2VyLmtlcm5lbC5vcmcKPiA+IENj OiBBcm5kIEJlcmdtYW5uIDxhcm5kQGFybmRiLmRlPgo+ID4gLS0tCj4gPiAgaW5jbHVkZS9saW51 eC9tbXVfbm90aWZpZXIuaCB8IDYgKysrKystCj4gPiAgMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0 aW9ucygrKSwgMSBkZWxldGlvbigtKQo+ID4gCj4gPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51 eC9tbXVfbm90aWZpZXIuaCBiL2luY2x1ZGUvbGludXgvbW11X25vdGlmaWVyLmgKPiA+IGluZGV4 IDYyZjk0Y2Q4NTQ1NS4uMDM3OTk1NmZmZjIzIDEwMDY0NAo+ID4gLS0tIGEvaW5jbHVkZS9saW51 eC9tbXVfbm90aWZpZXIuaAo+ID4gKysrIGIvaW5jbHVkZS9saW51eC9tbXVfbm90aWZpZXIuaAo+ ID4gQEAgLTU4LDEwICs1OCwxMiBAQCBzdHJ1Y3QgbW11X25vdGlmaWVyX21tIHsKPiA+ICAjZGVm aW5lIE1NVV9OT1RJRklFUl9SQU5HRV9CTE9DS0FCTEUgKDEgPDwgMCkKPiA+ICAKPiA+ICBzdHJ1 Y3QgbW11X25vdGlmaWVyX3JhbmdlIHsKPiA+ICsJc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWE7 Cj4gPiAgCXN0cnVjdCBtbV9zdHJ1Y3QgKm1tOwo+ID4gIAl1bnNpZ25lZCBsb25nIHN0YXJ0Owo+ ID4gIAl1bnNpZ25lZCBsb25nIGVuZDsKPiA+ICAJdW5zaWduZWQgZmxhZ3M7Cj4gPiArCWVudW0g bW11X25vdGlmaWVyX2V2ZW50IGV2ZW50Owo+ID4gIH07Cj4gPiAgCj4gPiAgc3RydWN0IG1tdV9u b3RpZmllcl9vcHMgewo+ID4gQEAgLTM2MywxMCArMzY1LDEyIEBAIHN0YXRpYyBpbmxpbmUgdm9p ZCBtbXVfbm90aWZpZXJfcmFuZ2VfaW5pdChzdHJ1Y3QgbW11X25vdGlmaWVyX3JhbmdlICpyYW5n ZSwKPiA+ICAJCQkJCSAgIHVuc2lnbmVkIGxvbmcgc3RhcnQsCj4gPiAgCQkJCQkgICB1bnNpZ25l ZCBsb25nIGVuZCkKPiA+ICB7Cj4gPiArCXJhbmdlLT52bWEgPSB2bWE7Cj4gPiArCXJhbmdlLT5l dmVudCA9IGV2ZW50Owo+ID4gIAlyYW5nZS0+bW0gPSBtbTsKPiA+ICAJcmFuZ2UtPnN0YXJ0ID0g c3RhcnQ7Cj4gPiAgCXJhbmdlLT5lbmQgPSBlbmQ7Cj4gPiAtCXJhbmdlLT5mbGFncyA9IDA7Cj4g PiArCXJhbmdlLT5mbGFncyA9IGZsYWdzOwo+IAo+IFdoaWNoIG9mIHRoZSAidXNlciBwYXRjaCBz ZXRzIiB1c2VzIHRoZSBuZXcgZmxhZ3M/Cj4gCj4gSSdtIG5vdCBzZWVpbmcgdGhhdCB1c2VyIHll dC4gIEluIGdlbmVyYWwgSSBkb24ndCBzZWUgYW55dGhpbmcgd3Jvbmcgd2l0aCB0aGUKPiBzZXJp ZXMgYW5kIEkgbGlrZSB0aGUgaWRlYSBvZiB0ZWxsaW5nIGRyaXZlcnMgd2h5IHRoZSBpbnZhbGlk YXRlIGhhcyBmaXJlZC4KPiAKPiBCdXQgaXMgdGhlIGZsYWdzIGEgZnV0dXJlIGZlYXR1cmU/Cj4g CgpJIGJlbGlldmUgdGhlIGxpbmsgd2VyZSBpbiB0aGUgY292ZXI6CgpodHRwczovL2xrbWwub3Jn L2xrbWwvMjAxOS8xLzIzLzgzMwpodHRwczovL2xrbWwub3JnL2xrbWwvMjAxOS8xLzIzLzgzNApo dHRwczovL2xrbWwub3JnL2xrbWwvMjAxOS8xLzIzLzgzMgpodHRwczovL2xrbWwub3JnL2xrbWwv MjAxOS8xLzIzLzgzMQoKSSBoYXZlIG1vcmUgY29taW5nIGZvciBITU0gYnV0IGkgYW0gd2FpdGlu ZyBhZnRlciA1LjIgb25jZSBhbWRncHUKSE1NIHBhdGNoIGFyZSBtZXJnZSB1cHN0cmVhbSBhcyBp dCB3aWxsIGNoYW5nZSB3aGF0IGlzIHBhc3NlZCBkb3duCnRvIGRyaXZlciBhbmQgaXQgd291bGQg Y29uZmxpY3Qgd2l0aCBub24gbWVyZ2VkIEhNTSBkcml2ZXIgKGxpa2UKYW1kZ3B1IHRvZGF5KS4K CkNoZWVycywKSsOpcsO0bWUKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJp LWRldmVs 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=-5.5 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_PASS,URIBL_BLOCKED,USER_AGENT_MUTT 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 612BEC10F14 for ; Thu, 11 Apr 2019 14:39:37 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 3AB5E206BA for ; Thu, 11 Apr 2019 14:39:37 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726705AbfDKOjc (ORCPT ); Thu, 11 Apr 2019 10:39:32 -0400 Received: from mx1.redhat.com ([209.132.183.28]:43152 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726121AbfDKOjc (ORCPT ); Thu, 11 Apr 2019 10:39:32 -0400 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 773A3307B487; Thu, 11 Apr 2019 14:39:26 +0000 (UTC) Received: from redhat.com (unknown [10.20.6.236]) by smtp.corp.redhat.com (Postfix) with ESMTPS id CE2F65D9C8; Thu, 11 Apr 2019 14:39:20 +0000 (UTC) Date: Thu, 11 Apr 2019 10:39:19 -0400 From: Jerome Glisse To: Ira Weiny Cc: linux-kernel@vger.kernel.org, Andrew Morton , linux-mm@kvack.org, Christian =?iso-8859-1?Q?K=F6nig?= , Joonas Lahtinen , Jani Nikula , Rodrigo Vivi , Jan Kara , Andrea Arcangeli , Peter Xu , Felix Kuehling , Jason Gunthorpe , Ross Zwisler , Dan Williams , Paolo Bonzini , Radim =?utf-8?B?S3LEjW3DocWZ?= , Michal Hocko , Ralph Campbell , John Hubbard , kvm@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-rdma@vger.kernel.org, Arnd Bergmann Subject: Re: [PATCH v6 7/8] mm/mmu_notifier: pass down vma and reasons why mmu notifier is happening v2 Message-ID: <20190411143918.GA4266@redhat.com> References: <20190326164747.24405-1-jglisse@redhat.com> <20190326164747.24405-8-jglisse@redhat.com> <20190410234124.GE22989@iweiny-DESK2.sc.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20190410234124.GE22989@iweiny-DESK2.sc.intel.com> User-Agent: Mutt/1.11.3 (2019-02-01) X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.46]); Thu, 11 Apr 2019 14:39:31 +0000 (UTC) Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org On Wed, Apr 10, 2019 at 04:41:57PM -0700, Ira Weiny wrote: > On Tue, Mar 26, 2019 at 12:47:46PM -0400, Jerome Glisse wrote: > > From: Jérôme Glisse > > > > CPU page table update can happens for many reasons, not only as a result > > of a syscall (munmap(), mprotect(), mremap(), madvise(), ...) but also > > as a result of kernel activities (memory compression, reclaim, migration, > > ...). > > > > Users of mmu notifier API track changes to the CPU page table and take > > specific action for them. While current API only provide range of virtual > > address affected by the change, not why the changes is happening > > > > This patch is just passing down the new informations by adding it to the > > mmu_notifier_range structure. > > > > Changes since v1: > > - Initialize flags field from mmu_notifier_range_init() arguments > > > > Signed-off-by: Jérôme Glisse > > Cc: Andrew Morton > > Cc: linux-mm@kvack.org > > Cc: Christian König > > Cc: Joonas Lahtinen > > Cc: Jani Nikula > > Cc: Rodrigo Vivi > > Cc: Jan Kara > > Cc: Andrea Arcangeli > > Cc: Peter Xu > > Cc: Felix Kuehling > > Cc: Jason Gunthorpe > > Cc: Ross Zwisler > > Cc: Dan Williams > > Cc: Paolo Bonzini > > Cc: Radim Krčmář > > Cc: Michal Hocko > > Cc: Christian Koenig > > Cc: Ralph Campbell > > Cc: John Hubbard > > Cc: kvm@vger.kernel.org > > Cc: dri-devel@lists.freedesktop.org > > Cc: linux-rdma@vger.kernel.org > > Cc: Arnd Bergmann > > --- > > include/linux/mmu_notifier.h | 6 +++++- > > 1 file changed, 5 insertions(+), 1 deletion(-) > > > > diff --git a/include/linux/mmu_notifier.h b/include/linux/mmu_notifier.h > > index 62f94cd85455..0379956fff23 100644 > > --- a/include/linux/mmu_notifier.h > > +++ b/include/linux/mmu_notifier.h > > @@ -58,10 +58,12 @@ struct mmu_notifier_mm { > > #define MMU_NOTIFIER_RANGE_BLOCKABLE (1 << 0) > > > > struct mmu_notifier_range { > > + struct vm_area_struct *vma; > > struct mm_struct *mm; > > unsigned long start; > > unsigned long end; > > unsigned flags; > > + enum mmu_notifier_event event; > > }; > > > > struct mmu_notifier_ops { > > @@ -363,10 +365,12 @@ static inline void mmu_notifier_range_init(struct mmu_notifier_range *range, > > unsigned long start, > > unsigned long end) > > { > > + range->vma = vma; > > + range->event = event; > > range->mm = mm; > > range->start = start; > > range->end = end; > > - range->flags = 0; > > + range->flags = flags; > > Which of the "user patch sets" uses the new flags? > > I'm not seeing that user yet. In general I don't see anything wrong with the > series and I like the idea of telling drivers why the invalidate has fired. > > But is the flags a future feature? > I believe the link were in the cover: https://lkml.org/lkml/2019/1/23/833 https://lkml.org/lkml/2019/1/23/834 https://lkml.org/lkml/2019/1/23/832 https://lkml.org/lkml/2019/1/23/831 I have more coming for HMM but i am waiting after 5.2 once amdgpu HMM patch are merge upstream as it will change what is passed down to driver and it would conflict with non merged HMM driver (like amdgpu today). Cheers, Jérôme