* Re: [PATCH V2 0/7] Add FOLL_LONGTERM to GUP fast and use it @ 2019-02-15 18:29 Ira Weiny 0 siblings, 0 replies; 2+ messages in thread From: Ira Weiny @ 2019-02-15 18:29 UTC (permalink / raw) To: linux-mips, linux-kernel, kvm-ppc, linuxppc-dev, linux-s390, linux-sh, sparclinux, kvm, linux-fpga, dri-devel, linux-rdma, linux-media, linux-scsi, devel, virtualization, netdev, linux-fbdev, xen-devel, devel, linux-mm, ceph-devel, rds-devel > 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 Any comments on this series? I've touched a lot of subsystems which I think require review. 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 > ^ permalink raw reply [flat|nested] 2+ messages in thread
* [PATCH 0/3] Add gup fast + longterm and use it in HFI1 @ 2019-02-11 20:16 ira.weiny 2019-02-13 23:04 ` [PATCH V2 0/7] Add FOLL_LONGTERM to GUP fast and use it ira.weiny 0 siblings, 1 reply; 2+ messages in thread From: ira.weiny @ 2019-02-11 20:16 UTC (permalink / raw) To: linux-rdma, linux-kernel, linux-mm, Daniel Borkmann, Davidlohr Bueso, netdev Cc: Mike Marciniszyn, Dennis Dalessandro, Doug Ledford, Jason Gunthorpe, Andrew Morton, Kirill A. Shutemov, Dan Williams, Ira Weiny From: Ira Weiny <ira.weiny@intel.com> NOTE: This series depends on my clean up patch to remove the write parameter from gup_fast_permitted()[1] HFI1 uses get_user_pages_fast() due to it performance advantages. Like RDMA, HFI1 pages can be held for a significant time. But get_user_pages_fast() does not protect against mapping of FS DAX pages. Introduce a get_user_pages_fast_longterm() which retains the performance while also adding the FS DAX checks. XDP has also shown interest in using this functionality.[2] [1] https://lkml.org/lkml/2019/2/11/237 [2] https://lkml.org/lkml/2019/2/11/1789 Ira Weiny (3): mm/gup: Change "write" parameter to flags mm/gup: Introduce get_user_pages_fast_longterm() IB/HFI1: Use new get_user_pages_fast_longterm() drivers/infiniband/hw/hfi1/user_pages.c | 2 +- include/linux/mm.h | 8 ++ mm/gup.c | 152 ++++++++++++++++-------- 3 files changed, 114 insertions(+), 48 deletions(-) -- 2.20.1 ^ permalink raw reply [flat|nested] 2+ messages in thread
* [PATCH V2 0/7] Add FOLL_LONGTERM to GUP fast and use it 2019-02-11 20:16 [PATCH 0/3] Add gup fast + longterm and use it in HFI1 ira.weiny @ 2019-02-13 23:04 ` ira.weiny 0 siblings, 0 replies; 2+ messages in thread From: ira.weiny @ 2019-02-13 23:04 UTC (permalink / raw) To: linux-mips, linux-kernel, kvm-ppc, linuxppc-dev, linux-s390, linux-sh, sparclinux, kvm, linux-fpga, dri-devel, linux-rdma, linux-media, linux-scsi, devel, virtualization, netdev, linux-fbdev, xen-devel, devel, linux-mm, ceph-devel, rds-devel Cc: Ira Weiny, John Hubbard, David Hildenbrand, Cornelia Huck, Yoshinori Sato, Rich Felker, David S. Miller, Thomas Gleixner, Ingo Molnar, Borislav Petkov, Joerg Roedel, Wu Hao, Alan Tull, Moritz Fischer, David Airlie, Daniel Vetter, Jason Gunthorpe, Dennis Dalessandro, Christian Benvenuti, Mauro Carvalho Chehab, Matt Porter, Alexandre Bounine, Kai Mäkisara, James E.J. Bottomley, Martin K. Petersen, Rob Springer, Todd Poynor, Ben Chan, Jens Wiklander, Alex Williamson, Michael S. Tsirkin, Jason Wang, Bartlomiej Zolnierkiewicz, Stefano Stabellini, Martin Brandenburg, Peter Zijlstra, Alexander Viro, Andrew Morton, Michal Hocko, Kirill A. Shutemov From: Ira Weiny <ira.weiny@intel.com> 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 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 ^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2019-02-15 18:29 UTC | newest] Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2019-02-15 18:29 [PATCH V2 0/7] Add FOLL_LONGTERM to GUP fast and use it Ira Weiny -- strict thread matches above, loose matches on Subject: below -- 2019-02-11 20:16 [PATCH 0/3] Add gup fast + longterm and use it in HFI1 ira.weiny 2019-02-13 23:04 ` [PATCH V2 0/7] Add FOLL_LONGTERM to GUP fast and use it ira.weiny
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox