From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ira Weiny Date: Wed, 27 Feb 2019 19:14:42 +0000 Subject: Re: [RESEND PATCH 0/7] Add FOLL_LONGTERM to GUP fast and use it Message-Id: <20190227191442.GB31669@iweiny-DESK2.sc.intel.com> List-Id: References: <20190220053040.10831-1-ira.weiny@intel.com> In-Reply-To: <20190220053040.10831-1-ira.weiny@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: John Hubbard , Andrew Morton , Michal Hocko , "Kirill A. Shutemov" , Peter Zijlstra , Jason Gunthorpe , Benjamin Herrenschmidt , Paul Mackerras , "David S. Miller" , Martin Schwidefsky , Heiko Carstens , Rich Felker , Yoshinori Sato , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Ralf Baechle , Paul Burton , James Hogan Cc: linux-fbdev@vger.kernel.org, kvm@vger.kernel.org, linux-sh@vger.kernel.org, linux-fpga@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-mips@vger.kernel.org, linux-mm@kvack.org, sparclinux@vger.kernel.org, devel@driverdev.osuosl.org, linux-s390@vger.kernel.org, rds-devel@oss.oracle.com, linux-scsi@vger.kernel.org, linux-rdma@vger.kernel.org, xen-devel@lists.xenproject.org, devel@lists.orangefs.org, linux-media@vger.kernel.org, kvm-ppc@vger.kernel.org, ceph-devel@vger.kernel.org, virtualization@lists.linux-foundation.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org On Tue, Feb 19, 2019 at 09:30:33PM -0800, 'Ira Weiny' wrote: > From: Ira Weiny > > Resending these as I had only 1 minor comment which I believe we have covered > in this series. I was anticipating these going through the mm tree as they > depend on a cleanup patch there and the IB changes are very minor. But they > could just as well go through the IB tree. > > NOTE: This series depends on my clean up patch to remove the write parameter > from gup_fast_permitted()[1] > > HFI1, qib, and mthca, use get_user_pages_fast() due to it performance > advantages. These pages can be held for a significant time. But > get_user_pages_fast() does not protect against mapping of FS DAX pages. > > Introduce FOLL_LONGTERM and use this flag in get_user_pages_fast() which > retains the performance while also adding the FS DAX checks. XDP has also > shown interest in using this functionality.[2] > > In addition we change get_user_pages() to use the new FOLL_LONGTERM flag and > remove the specialized get_user_pages_longterm call. > > [1] https://lkml.org/lkml/2019/2/11/237 > [2] https://lkml.org/lkml/2019/2/11/1789 Is there anything I need to do on this series or does anyone have any objections to it going into 5.1? And if so who's tree is it going to go through? Thanks, Ira > > Ira Weiny (7): > mm/gup: Replace get_user_pages_longterm() with FOLL_LONGTERM > mm/gup: Change write parameter to flags in fast walk > mm/gup: Change GUP fast to use flags rather than a write 'bool' > mm/gup: Add FOLL_LONGTERM capability to GUP fast > IB/hfi1: Use the new FOLL_LONGTERM flag to get_user_pages_fast() > IB/qib: Use the new FOLL_LONGTERM flag to get_user_pages_fast() > IB/mthca: Use the new FOLL_LONGTERM flag to get_user_pages_fast() > > arch/mips/mm/gup.c | 11 +- > arch/powerpc/kvm/book3s_64_mmu_hv.c | 4 +- > arch/powerpc/kvm/e500_mmu.c | 2 +- > arch/powerpc/mm/mmu_context_iommu.c | 4 +- > arch/s390/kvm/interrupt.c | 2 +- > arch/s390/mm/gup.c | 12 +- > arch/sh/mm/gup.c | 11 +- > arch/sparc/mm/gup.c | 9 +- > arch/x86/kvm/paging_tmpl.h | 2 +- > arch/x86/kvm/svm.c | 2 +- > drivers/fpga/dfl-afu-dma-region.c | 2 +- > drivers/gpu/drm/via/via_dmablit.c | 3 +- > drivers/infiniband/core/umem.c | 5 +- > drivers/infiniband/hw/hfi1/user_pages.c | 5 +- > drivers/infiniband/hw/mthca/mthca_memfree.c | 3 +- > drivers/infiniband/hw/qib/qib_user_pages.c | 8 +- > drivers/infiniband/hw/qib/qib_user_sdma.c | 2 +- > drivers/infiniband/hw/usnic/usnic_uiom.c | 9 +- > drivers/media/v4l2-core/videobuf-dma-sg.c | 6 +- > drivers/misc/genwqe/card_utils.c | 2 +- > drivers/misc/vmw_vmci/vmci_host.c | 2 +- > drivers/misc/vmw_vmci/vmci_queue_pair.c | 6 +- > drivers/platform/goldfish/goldfish_pipe.c | 3 +- > drivers/rapidio/devices/rio_mport_cdev.c | 4 +- > drivers/sbus/char/oradax.c | 2 +- > drivers/scsi/st.c | 3 +- > drivers/staging/gasket/gasket_page_table.c | 4 +- > drivers/tee/tee_shm.c | 2 +- > drivers/vfio/vfio_iommu_spapr_tce.c | 3 +- > drivers/vfio/vfio_iommu_type1.c | 3 +- > drivers/vhost/vhost.c | 2 +- > drivers/video/fbdev/pvr2fb.c | 2 +- > drivers/virt/fsl_hypervisor.c | 2 +- > drivers/xen/gntdev.c | 2 +- > fs/orangefs/orangefs-bufmap.c | 2 +- > include/linux/mm.h | 17 +- > kernel/futex.c | 2 +- > lib/iov_iter.c | 7 +- > mm/gup.c | 220 ++++++++++++-------- > mm/gup_benchmark.c | 5 +- > mm/util.c | 8 +- > net/ceph/pagevec.c | 2 +- > net/rds/info.c | 2 +- > net/rds/rdma.c | 3 +- > 44 files changed, 232 insertions(+), 180 deletions(-) > > -- > 2.20.1 > From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ira Weiny Subject: Re: [RESEND PATCH 0/7] Add FOLL_LONGTERM to GUP fast and use it Date: Wed, 27 Feb 2019 11:14:42 -0800 Message-ID: <20190227191442.GB31669@iweiny-DESK2.sc.intel.com> References: <20190220053040.10831-1-ira.weiny@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: <20190220053040.10831-1-ira.weiny@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: John Hubbard , Andrew Morton , Michal Hocko , "Kirill A. Shutemov" , Peter Zijlstra , Jason Gunthorpe , Benjamin Herrenschmidt , Paul Mackerras , "David S. Miller" , Martin Schwidefsky , Heiko Carstens , Rich Felker , Yoshinori Sato , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Ralf Baechle , Paul Burton , James Hogan Cc: linux-fbdev@vger.kernel.org, kvm@vger.kernel.org, linux-sh@vger.kernel.org, linux-fpga@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-mips@vger.kernel.org, linux-mm@kvack.org, sparclinux@vger.kernel.org, devel@driverdev.osuosl.org, linux-s390@vger.kernel.org, rds-devel@oss.oracle.com, linux-scsi@vger.kernel.org, linux-rdma@vger.kernel.org, xen-devel@lists.xenproject.org, devel@lists.orangefs.org, linux-media@vger.kernel.org, kvm-ppc@vger.kernel.org, ceph-devel@vger.kernel.org, virtualization@lists.linux-foundation.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org List-Id: linux-rdma@vger.kernel.org T24gVHVlLCBGZWIgMTksIDIwMTkgYXQgMDk6MzA6MzNQTSAtMDgwMCwgJ0lyYSBXZWlueScgd3Jv dGU6Cj4gRnJvbTogSXJhIFdlaW55IDxpcmEud2VpbnlAaW50ZWwuY29tPgo+IAo+IFJlc2VuZGlu ZyB0aGVzZSBhcyBJIGhhZCBvbmx5IDEgbWlub3IgY29tbWVudCB3aGljaCBJIGJlbGlldmUgd2Ug aGF2ZSBjb3ZlcmVkCj4gaW4gdGhpcyBzZXJpZXMuICBJIHdhcyBhbnRpY2lwYXRpbmcgdGhlc2Ug Z29pbmcgdGhyb3VnaCB0aGUgbW0gdHJlZSBhcyB0aGV5Cj4gZGVwZW5kIG9uIGEgY2xlYW51cCBw YXRjaCB0aGVyZSBhbmQgdGhlIElCIGNoYW5nZXMgYXJlIHZlcnkgbWlub3IuICBCdXQgdGhleQo+ IGNvdWxkIGp1c3QgYXMgd2VsbCBnbyB0aHJvdWdoIHRoZSBJQiB0cmVlLgo+IAo+IE5PVEU6IFRo aXMgc2VyaWVzIGRlcGVuZHMgb24gbXkgY2xlYW4gdXAgcGF0Y2ggdG8gcmVtb3ZlIHRoZSB3cml0 ZSBwYXJhbWV0ZXIKPiBmcm9tIGd1cF9mYXN0X3Blcm1pdHRlZCgpWzFdCj4gCj4gSEZJMSwgcWli LCBhbmQgbXRoY2EsIHVzZSBnZXRfdXNlcl9wYWdlc19mYXN0KCkgZHVlIHRvIGl0IHBlcmZvcm1h bmNlCj4gYWR2YW50YWdlcy4gIFRoZXNlIHBhZ2VzIGNhbiBiZSBoZWxkIGZvciBhIHNpZ25pZmlj YW50IHRpbWUuICBCdXQKPiBnZXRfdXNlcl9wYWdlc19mYXN0KCkgZG9lcyBub3QgcHJvdGVjdCBh Z2FpbnN0IG1hcHBpbmcgb2YgRlMgREFYIHBhZ2VzLgo+IAo+IEludHJvZHVjZSBGT0xMX0xPTkdU RVJNIGFuZCB1c2UgdGhpcyBmbGFnIGluIGdldF91c2VyX3BhZ2VzX2Zhc3QoKSB3aGljaAo+IHJl dGFpbnMgdGhlIHBlcmZvcm1hbmNlIHdoaWxlIGFsc28gYWRkaW5nIHRoZSBGUyBEQVggY2hlY2tz LiAgWERQIGhhcyBhbHNvCj4gc2hvd24gaW50ZXJlc3QgaW4gdXNpbmcgdGhpcyBmdW5jdGlvbmFs aXR5LlsyXQo+IAo+IEluIGFkZGl0aW9uIHdlIGNoYW5nZSBnZXRfdXNlcl9wYWdlcygpIHRvIHVz ZSB0aGUgbmV3IEZPTExfTE9OR1RFUk0gZmxhZyBhbmQKPiByZW1vdmUgdGhlIHNwZWNpYWxpemVk IGdldF91c2VyX3BhZ2VzX2xvbmd0ZXJtIGNhbGwuCj4gCj4gWzFdIGh0dHBzOi8vbGttbC5vcmcv bGttbC8yMDE5LzIvMTEvMjM3Cj4gWzJdIGh0dHBzOi8vbGttbC5vcmcvbGttbC8yMDE5LzIvMTEv MTc4OQoKSXMgdGhlcmUgYW55dGhpbmcgSSBuZWVkIHRvIGRvIG9uIHRoaXMgc2VyaWVzIG9yIGRv ZXMgYW55b25lIGhhdmUgYW55Cm9iamVjdGlvbnMgdG8gaXQgZ29pbmcgaW50byA1LjE/ICBBbmQg aWYgc28gd2hvJ3MgdHJlZSBpcyBpdCBnb2luZyB0byBnbwp0aHJvdWdoPwoKVGhhbmtzLApJcmEK Cj4gCj4gSXJhIFdlaW55ICg3KToKPiAgIG1tL2d1cDogUmVwbGFjZSBnZXRfdXNlcl9wYWdlc19s b25ndGVybSgpIHdpdGggRk9MTF9MT05HVEVSTQo+ICAgbW0vZ3VwOiBDaGFuZ2Ugd3JpdGUgcGFy YW1ldGVyIHRvIGZsYWdzIGluIGZhc3Qgd2Fsawo+ICAgbW0vZ3VwOiBDaGFuZ2UgR1VQIGZhc3Qg dG8gdXNlIGZsYWdzIHJhdGhlciB0aGFuIGEgd3JpdGUgJ2Jvb2wnCj4gICBtbS9ndXA6IEFkZCBG T0xMX0xPTkdURVJNIGNhcGFiaWxpdHkgdG8gR1VQIGZhc3QKPiAgIElCL2hmaTE6IFVzZSB0aGUg bmV3IEZPTExfTE9OR1RFUk0gZmxhZyB0byBnZXRfdXNlcl9wYWdlc19mYXN0KCkKPiAgIElCL3Fp YjogVXNlIHRoZSBuZXcgRk9MTF9MT05HVEVSTSBmbGFnIHRvIGdldF91c2VyX3BhZ2VzX2Zhc3Qo KQo+ICAgSUIvbXRoY2E6IFVzZSB0aGUgbmV3IEZPTExfTE9OR1RFUk0gZmxhZyB0byBnZXRfdXNl cl9wYWdlc19mYXN0KCkKPiAKPiAgYXJjaC9taXBzL21tL2d1cC5jICAgICAgICAgICAgICAgICAg ICAgICAgICB8ICAxMSArLQo+ICBhcmNoL3Bvd2VycGMva3ZtL2Jvb2szc182NF9tbXVfaHYuYyAg ICAgICAgIHwgICA0ICstCj4gIGFyY2gvcG93ZXJwYy9rdm0vZTUwMF9tbXUuYyAgICAgICAgICAg ICAgICAgfCAgIDIgKy0KPiAgYXJjaC9wb3dlcnBjL21tL21tdV9jb250ZXh0X2lvbW11LmMgICAg ICAgICB8ICAgNCArLQo+ICBhcmNoL3MzOTAva3ZtL2ludGVycnVwdC5jICAgICAgICAgICAgICAg ICAgIHwgICAyICstCj4gIGFyY2gvczM5MC9tbS9ndXAuYyAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAgMTIgKy0KPiAgYXJjaC9zaC9tbS9ndXAuYyAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8ICAxMSArLQo+ICBhcmNoL3NwYXJjL21tL2d1cC5jICAgICAgICAgICAgICAgICAgICAgICAg IHwgICA5ICstCj4gIGFyY2gveDg2L2t2bS9wYWdpbmdfdG1wbC5oICAgICAgICAgICAgICAgICAg fCAgIDIgKy0KPiAgYXJjaC94ODYva3ZtL3N2bS5jICAgICAgICAgICAgICAgICAgICAgICAgICB8 ICAgMiArLQo+ICBkcml2ZXJzL2ZwZ2EvZGZsLWFmdS1kbWEtcmVnaW9uLmMgICAgICAgICAgIHwg ICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS92aWEvdmlhX2RtYWJsaXQuYyAgICAgICAgICAgfCAg IDMgKy0KPiAgZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdW1lbS5jICAgICAgICAgICAgICB8ICAg NSArLQo+ICBkcml2ZXJzL2luZmluaWJhbmQvaHcvaGZpMS91c2VyX3BhZ2VzLmMgICAgIHwgICA1 ICstCj4gIGRyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9tZW1mcmVlLmMgfCAgIDMg Ky0KPiAgZHJpdmVycy9pbmZpbmliYW5kL2h3L3FpYi9xaWJfdXNlcl9wYWdlcy5jICB8ICAgOCAr LQo+ICBkcml2ZXJzL2luZmluaWJhbmQvaHcvcWliL3FpYl91c2VyX3NkbWEuYyAgIHwgICAyICst Cj4gIGRyaXZlcnMvaW5maW5pYmFuZC9ody91c25pYy91c25pY191aW9tLmMgICAgfCAgIDkgKy0K PiAgZHJpdmVycy9tZWRpYS92NGwyLWNvcmUvdmlkZW9idWYtZG1hLXNnLmMgICB8ICAgNiArLQo+ ICBkcml2ZXJzL21pc2MvZ2Vud3FlL2NhcmRfdXRpbHMuYyAgICAgICAgICAgIHwgICAyICstCj4g IGRyaXZlcnMvbWlzYy92bXdfdm1jaS92bWNpX2hvc3QuYyAgICAgICAgICAgfCAgIDIgKy0KPiAg ZHJpdmVycy9taXNjL3Ztd192bWNpL3ZtY2lfcXVldWVfcGFpci5jICAgICB8ICAgNiArLQo+ICBk cml2ZXJzL3BsYXRmb3JtL2dvbGRmaXNoL2dvbGRmaXNoX3BpcGUuYyAgIHwgICAzICstCj4gIGRy aXZlcnMvcmFwaWRpby9kZXZpY2VzL3Jpb19tcG9ydF9jZGV2LmMgICAgfCAgIDQgKy0KPiAgZHJp dmVycy9zYnVzL2NoYXIvb3JhZGF4LmMgICAgICAgICAgICAgICAgICB8ICAgMiArLQo+ICBkcml2 ZXJzL3Njc2kvc3QuYyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAzICstCj4gIGRyaXZl cnMvc3RhZ2luZy9nYXNrZXQvZ2Fza2V0X3BhZ2VfdGFibGUuYyAgfCAgIDQgKy0KPiAgZHJpdmVy cy90ZWUvdGVlX3NobS5jICAgICAgICAgICAgICAgICAgICAgICB8ICAgMiArLQo+ICBkcml2ZXJz L3ZmaW8vdmZpb19pb21tdV9zcGFwcl90Y2UuYyAgICAgICAgIHwgICAzICstCj4gIGRyaXZlcnMv dmZpby92ZmlvX2lvbW11X3R5cGUxLmMgICAgICAgICAgICAgfCAgIDMgKy0KPiAgZHJpdmVycy92 aG9zdC92aG9zdC5jICAgICAgICAgICAgICAgICAgICAgICB8ICAgMiArLQo+ICBkcml2ZXJzL3Zp ZGVvL2ZiZGV2L3B2cjJmYi5jICAgICAgICAgICAgICAgIHwgICAyICstCj4gIGRyaXZlcnMvdmly dC9mc2xfaHlwZXJ2aXNvci5jICAgICAgICAgICAgICAgfCAgIDIgKy0KPiAgZHJpdmVycy94ZW4v Z250ZGV2LmMgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMiArLQo+ICBmcy9vcmFuZ2Vmcy9v cmFuZ2Vmcy1idWZtYXAuYyAgICAgICAgICAgICAgIHwgICAyICstCj4gIGluY2x1ZGUvbGludXgv bW0uaCAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMTcgKy0KPiAga2VybmVsL2Z1dGV4LmMg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMiArLQo+ICBsaWIvaW92X2l0ZXIuYyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA3ICstCj4gIG1tL2d1cC5jICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAyMjAgKysrKysrKysrKysrLS0tLS0tLS0KPiAg bW0vZ3VwX2JlbmNobWFyay5jICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgNSArLQo+ICBt bS91dGlsLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA4ICstCj4gIG5l dC9jZXBoL3BhZ2V2ZWMuYyAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKy0KPiAgbmV0 L3Jkcy9pbmZvLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMiArLQo+ICBuZXQv cmRzL3JkbWEuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAzICstCj4gIDQ0IGZp bGVzIGNoYW5nZWQsIDIzMiBpbnNlcnRpb25zKCspLCAxODAgZGVsZXRpb25zKC0pCj4gCj4gLS0g Cj4gMi4yMC4xCj4gCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZl bA== 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=-2.5 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,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 A1187C10F01 for ; Wed, 27 Feb 2019 19:14:40 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 799142133D for ; Wed, 27 Feb 2019 19:14:40 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730216AbfB0TOf (ORCPT ); Wed, 27 Feb 2019 14:14:35 -0500 Received: from mga06.intel.com ([134.134.136.31]:40149 "EHLO mga06.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726356AbfB0TOe (ORCPT ); Wed, 27 Feb 2019 14:14:34 -0500 X-Amp-Result: UNSCANNABLE X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga104.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 27 Feb 2019 11:14:32 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.58,420,1544515200"; d="scan'208";a="150535022" Received: from iweiny-desk2.sc.intel.com ([10.3.52.157]) by fmsmga001.fm.intel.com with ESMTP; 27 Feb 2019 11:14:31 -0800 Date: Wed, 27 Feb 2019 11:14:42 -0800 From: Ira Weiny To: John Hubbard , Andrew Morton , Michal Hocko , "Kirill A. Shutemov" , Peter Zijlstra , Jason Gunthorpe , Benjamin Herrenschmidt , Paul Mackerras , "David S. Miller" , Martin Schwidefsky , Heiko Carstens , Rich Felker , Yoshinori Sato , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Ralf Baechle , Paul Burton , James Hogan Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-mips@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-s390@vger.kernel.org, linux-sh@vger.kernel.org, sparclinux@vger.kernel.org, kvm-ppc@vger.kernel.org, kvm@vger.kernel.org, linux-fpga@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-rdma@vger.kernel.org, linux-media@vger.kernel.org, linux-scsi@vger.kernel.org, devel@driverdev.osuosl.org, virtualization@lists.linux-foundation.org, netdev@vger.kernel.org, linux-fbdev@vger.kernel.org, xen-devel@lists.xenproject.org, devel@lists.orangefs.org, ceph-devel@vger.kernel.org, rds-devel@oss.oracle.com Subject: Re: [RESEND PATCH 0/7] Add FOLL_LONGTERM to GUP fast and use it Message-ID: <20190227191442.GB31669@iweiny-DESK2.sc.intel.com> References: <20190220053040.10831-1-ira.weiny@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20190220053040.10831-1-ira.weiny@intel.com> User-Agent: Mutt/1.11.1 (2018-12-01) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Feb 19, 2019 at 09:30:33PM -0800, 'Ira Weiny' wrote: > From: Ira Weiny > > Resending these as I had only 1 minor comment which I believe we have covered > in this series. I was anticipating these going through the mm tree as they > depend on a cleanup patch there and the IB changes are very minor. But they > could just as well go through the IB tree. > > NOTE: This series depends on my clean up patch to remove the write parameter > from gup_fast_permitted()[1] > > HFI1, qib, and mthca, use get_user_pages_fast() due to it performance > advantages. These pages can be held for a significant time. But > get_user_pages_fast() does not protect against mapping of FS DAX pages. > > Introduce FOLL_LONGTERM and use this flag in get_user_pages_fast() which > retains the performance while also adding the FS DAX checks. XDP has also > shown interest in using this functionality.[2] > > In addition we change get_user_pages() to use the new FOLL_LONGTERM flag and > remove the specialized get_user_pages_longterm call. > > [1] https://lkml.org/lkml/2019/2/11/237 > [2] https://lkml.org/lkml/2019/2/11/1789 Is there anything I need to do on this series or does anyone have any objections to it going into 5.1? And if so who's tree is it going to go through? Thanks, Ira > > Ira Weiny (7): > mm/gup: Replace get_user_pages_longterm() with FOLL_LONGTERM > mm/gup: Change write parameter to flags in fast walk > mm/gup: Change GUP fast to use flags rather than a write 'bool' > mm/gup: Add FOLL_LONGTERM capability to GUP fast > IB/hfi1: Use the new FOLL_LONGTERM flag to get_user_pages_fast() > IB/qib: Use the new FOLL_LONGTERM flag to get_user_pages_fast() > IB/mthca: Use the new FOLL_LONGTERM flag to get_user_pages_fast() > > arch/mips/mm/gup.c | 11 +- > arch/powerpc/kvm/book3s_64_mmu_hv.c | 4 +- > arch/powerpc/kvm/e500_mmu.c | 2 +- > arch/powerpc/mm/mmu_context_iommu.c | 4 +- > arch/s390/kvm/interrupt.c | 2 +- > arch/s390/mm/gup.c | 12 +- > arch/sh/mm/gup.c | 11 +- > arch/sparc/mm/gup.c | 9 +- > arch/x86/kvm/paging_tmpl.h | 2 +- > arch/x86/kvm/svm.c | 2 +- > drivers/fpga/dfl-afu-dma-region.c | 2 +- > drivers/gpu/drm/via/via_dmablit.c | 3 +- > drivers/infiniband/core/umem.c | 5 +- > drivers/infiniband/hw/hfi1/user_pages.c | 5 +- > drivers/infiniband/hw/mthca/mthca_memfree.c | 3 +- > drivers/infiniband/hw/qib/qib_user_pages.c | 8 +- > drivers/infiniband/hw/qib/qib_user_sdma.c | 2 +- > drivers/infiniband/hw/usnic/usnic_uiom.c | 9 +- > drivers/media/v4l2-core/videobuf-dma-sg.c | 6 +- > drivers/misc/genwqe/card_utils.c | 2 +- > drivers/misc/vmw_vmci/vmci_host.c | 2 +- > drivers/misc/vmw_vmci/vmci_queue_pair.c | 6 +- > drivers/platform/goldfish/goldfish_pipe.c | 3 +- > drivers/rapidio/devices/rio_mport_cdev.c | 4 +- > drivers/sbus/char/oradax.c | 2 +- > drivers/scsi/st.c | 3 +- > drivers/staging/gasket/gasket_page_table.c | 4 +- > drivers/tee/tee_shm.c | 2 +- > drivers/vfio/vfio_iommu_spapr_tce.c | 3 +- > drivers/vfio/vfio_iommu_type1.c | 3 +- > drivers/vhost/vhost.c | 2 +- > drivers/video/fbdev/pvr2fb.c | 2 +- > drivers/virt/fsl_hypervisor.c | 2 +- > drivers/xen/gntdev.c | 2 +- > fs/orangefs/orangefs-bufmap.c | 2 +- > include/linux/mm.h | 17 +- > kernel/futex.c | 2 +- > lib/iov_iter.c | 7 +- > mm/gup.c | 220 ++++++++++++-------- > mm/gup_benchmark.c | 5 +- > mm/util.c | 8 +- > net/ceph/pagevec.c | 2 +- > net/rds/info.c | 2 +- > net/rds/rdma.c | 3 +- > 44 files changed, 232 insertions(+), 180 deletions(-) > > -- > 2.20.1 > 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=-2.5 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,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 3E089C43381 for ; Wed, 27 Feb 2019 19:16:28 +0000 (UTC) Received: from lists.ozlabs.org (lists.ozlabs.org [203.11.71.2]) (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 6BB282133D for ; Wed, 27 Feb 2019 19:16:27 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 6BB282133D Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=linuxppc-dev-bounces+linuxppc-dev=archiver.kernel.org@lists.ozlabs.org Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) by lists.ozlabs.org (Postfix) with ESMTP id 448llr6mhQzDqNH for ; Thu, 28 Feb 2019 06:16:24 +1100 (AEDT) Authentication-Results: lists.ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=intel.com (client-ip=134.134.136.126; helo=mga18.intel.com; envelope-from=ira.weiny@intel.com; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=none dis=none) header.from=intel.com Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 448ljt4dTWzDq9d for ; Thu, 28 Feb 2019 06:14:35 +1100 (AEDT) X-Amp-Result: UNSCANNABLE X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 27 Feb 2019 11:14:32 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.58,420,1544515200"; d="scan'208";a="150535022" Received: from iweiny-desk2.sc.intel.com ([10.3.52.157]) by fmsmga001.fm.intel.com with ESMTP; 27 Feb 2019 11:14:31 -0800 Date: Wed, 27 Feb 2019 11:14:42 -0800 From: Ira Weiny To: John Hubbard , Andrew Morton , Michal Hocko , "Kirill A. Shutemov" , Peter Zijlstra , Jason Gunthorpe , Benjamin Herrenschmidt , Paul Mackerras , "David S. Miller" , Martin Schwidefsky , Heiko Carstens , Rich Felker , Yoshinori Sato , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Ralf Baechle , Paul Burton , James Hogan Subject: Re: [RESEND PATCH 0/7] Add FOLL_LONGTERM to GUP fast and use it Message-ID: <20190227191442.GB31669@iweiny-DESK2.sc.intel.com> References: <20190220053040.10831-1-ira.weiny@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20190220053040.10831-1-ira.weiny@intel.com> User-Agent: Mutt/1.11.1 (2018-12-01) X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-fbdev@vger.kernel.org, kvm@vger.kernel.org, linux-sh@vger.kernel.org, linux-fpga@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-mips@vger.kernel.org, linux-mm@kvack.org, sparclinux@vger.kernel.org, devel@driverdev.osuosl.org, linux-s390@vger.kernel.org, rds-devel@oss.oracle.com, linux-scsi@vger.kernel.org, linux-rdma@vger.kernel.org, xen-devel@lists.xenproject.org, devel@lists.orangefs.org, linux-media@vger.kernel.org, kvm-ppc@vger.kernel.org, ceph-devel@vger.kernel.org, virtualization@lists.linux-foundation.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org Errors-To: linuxppc-dev-bounces+linuxppc-dev=archiver.kernel.org@lists.ozlabs.org Sender: "Linuxppc-dev" On Tue, Feb 19, 2019 at 09:30:33PM -0800, 'Ira Weiny' wrote: > From: Ira Weiny > > Resending these as I had only 1 minor comment which I believe we have covered > in this series. I was anticipating these going through the mm tree as they > depend on a cleanup patch there and the IB changes are very minor. But they > could just as well go through the IB tree. > > NOTE: This series depends on my clean up patch to remove the write parameter > from gup_fast_permitted()[1] > > HFI1, qib, and mthca, use get_user_pages_fast() due to it performance > advantages. These pages can be held for a significant time. But > get_user_pages_fast() does not protect against mapping of FS DAX pages. > > Introduce FOLL_LONGTERM and use this flag in get_user_pages_fast() which > retains the performance while also adding the FS DAX checks. XDP has also > shown interest in using this functionality.[2] > > In addition we change get_user_pages() to use the new FOLL_LONGTERM flag and > remove the specialized get_user_pages_longterm call. > > [1] https://lkml.org/lkml/2019/2/11/237 > [2] https://lkml.org/lkml/2019/2/11/1789 Is there anything I need to do on this series or does anyone have any objections to it going into 5.1? And if so who's tree is it going to go through? Thanks, Ira > > Ira Weiny (7): > mm/gup: Replace get_user_pages_longterm() with FOLL_LONGTERM > mm/gup: Change write parameter to flags in fast walk > mm/gup: Change GUP fast to use flags rather than a write 'bool' > mm/gup: Add FOLL_LONGTERM capability to GUP fast > IB/hfi1: Use the new FOLL_LONGTERM flag to get_user_pages_fast() > IB/qib: Use the new FOLL_LONGTERM flag to get_user_pages_fast() > IB/mthca: Use the new FOLL_LONGTERM flag to get_user_pages_fast() > > arch/mips/mm/gup.c | 11 +- > arch/powerpc/kvm/book3s_64_mmu_hv.c | 4 +- > arch/powerpc/kvm/e500_mmu.c | 2 +- > arch/powerpc/mm/mmu_context_iommu.c | 4 +- > arch/s390/kvm/interrupt.c | 2 +- > arch/s390/mm/gup.c | 12 +- > arch/sh/mm/gup.c | 11 +- > arch/sparc/mm/gup.c | 9 +- > arch/x86/kvm/paging_tmpl.h | 2 +- > arch/x86/kvm/svm.c | 2 +- > drivers/fpga/dfl-afu-dma-region.c | 2 +- > drivers/gpu/drm/via/via_dmablit.c | 3 +- > drivers/infiniband/core/umem.c | 5 +- > drivers/infiniband/hw/hfi1/user_pages.c | 5 +- > drivers/infiniband/hw/mthca/mthca_memfree.c | 3 +- > drivers/infiniband/hw/qib/qib_user_pages.c | 8 +- > drivers/infiniband/hw/qib/qib_user_sdma.c | 2 +- > drivers/infiniband/hw/usnic/usnic_uiom.c | 9 +- > drivers/media/v4l2-core/videobuf-dma-sg.c | 6 +- > drivers/misc/genwqe/card_utils.c | 2 +- > drivers/misc/vmw_vmci/vmci_host.c | 2 +- > drivers/misc/vmw_vmci/vmci_queue_pair.c | 6 +- > drivers/platform/goldfish/goldfish_pipe.c | 3 +- > drivers/rapidio/devices/rio_mport_cdev.c | 4 +- > drivers/sbus/char/oradax.c | 2 +- > drivers/scsi/st.c | 3 +- > drivers/staging/gasket/gasket_page_table.c | 4 +- > drivers/tee/tee_shm.c | 2 +- > drivers/vfio/vfio_iommu_spapr_tce.c | 3 +- > drivers/vfio/vfio_iommu_type1.c | 3 +- > drivers/vhost/vhost.c | 2 +- > drivers/video/fbdev/pvr2fb.c | 2 +- > drivers/virt/fsl_hypervisor.c | 2 +- > drivers/xen/gntdev.c | 2 +- > fs/orangefs/orangefs-bufmap.c | 2 +- > include/linux/mm.h | 17 +- > kernel/futex.c | 2 +- > lib/iov_iter.c | 7 +- > mm/gup.c | 220 ++++++++++++-------- > mm/gup_benchmark.c | 5 +- > mm/util.c | 8 +- > net/ceph/pagevec.c | 2 +- > net/rds/info.c | 2 +- > net/rds/rdma.c | 3 +- > 44 files changed, 232 insertions(+), 180 deletions(-) > > -- > 2.20.1 >