Re: [PATCH v6 24/24] mm, tree-wide: rename put_user_page*() to unpin_user_page*()
On Tue 19-11-19 00:16:43, John Hubbard wrote: > In order to provide a clearer, more symmetric API for pinning > and unpinning DMA pages. This way, pin_user_pages*() calls > match up with unpin_user_pages*() calls, and the API is a lot > closer to being self-explanatory. > > Signed-off-by: John Hubbard Looks good to me. You can add: Reviewed-by: Jan Kara Honza > --- > Documentation/core-api/pin_user_pages.rst | 2 +- > arch/powerpc/mm/book3s64/iommu_api.c| 6 +-- > drivers/gpu/drm/via/via_dmablit.c | 4 +- > drivers/infiniband/core/umem.c | 2 +- > drivers/infiniband/hw/hfi1/user_pages.c | 2 +- > drivers/infiniband/hw/mthca/mthca_memfree.c | 6 +-- > drivers/infiniband/hw/qib/qib_user_pages.c | 2 +- > drivers/infiniband/hw/qib/qib_user_sdma.c | 6 +-- > drivers/infiniband/hw/usnic/usnic_uiom.c| 2 +- > drivers/infiniband/sw/siw/siw_mem.c | 2 +- > drivers/media/v4l2-core/videobuf-dma-sg.c | 4 +- > drivers/platform/goldfish/goldfish_pipe.c | 4 +- > drivers/vfio/vfio_iommu_type1.c | 2 +- > fs/io_uring.c | 4 +- > include/linux/mm.h | 30 +++--- > include/linux/mmzone.h | 2 +- > mm/gup.c| 46 ++--- > mm/gup_benchmark.c | 2 +- > mm/process_vm_access.c | 4 +- > net/xdp/xdp_umem.c | 2 +- > 20 files changed, 67 insertions(+), 67 deletions(-) > > diff --git a/Documentation/core-api/pin_user_pages.rst > b/Documentation/core-api/pin_user_pages.rst > index baa288a44a77..6d93ef203561 100644 > --- a/Documentation/core-api/pin_user_pages.rst > +++ b/Documentation/core-api/pin_user_pages.rst > @@ -220,7 +220,7 @@ since the system was booted, via two new /proc/vmstat > entries: :: > /proc/vmstat/nr_foll_pin_requested > > Those are both going to show zero, unless CONFIG_DEBUG_VM is set. This is > -because there is a noticeable performance drop in put_user_page(), when they > +because there is a noticeable performance drop in unpin_user_page(), when > they > are activated. > > References > diff --git a/arch/powerpc/mm/book3s64/iommu_api.c > b/arch/powerpc/mm/book3s64/iommu_api.c > index 196383e8e5a9..dd7aa5a4f33c 100644 > --- a/arch/powerpc/mm/book3s64/iommu_api.c > +++ b/arch/powerpc/mm/book3s64/iommu_api.c > @@ -168,7 +168,7 @@ static long mm_iommu_do_alloc(struct mm_struct *mm, > unsigned long ua, > > free_exit: > /* free the references taken */ > - put_user_pages(mem->hpages, pinned); > + unpin_user_pages(mem->hpages, pinned); > > vfree(mem->hpas); > kfree(mem); > @@ -211,8 +211,8 @@ static void mm_iommu_unpin(struct > mm_iommu_table_group_mem_t *mem) > if (!page) > continue; > > - put_user_pages_dirty_lock(>hpages[i], 1, > - MM_IOMMU_TABLE_GROUP_PAGE_DIRTY); > + unpin_user_pages_dirty_lock(>hpages[i], 1, > + MM_IOMMU_TABLE_GROUP_PAGE_DIRTY); > > mem->hpas[i] = 0; > } > diff --git a/drivers/gpu/drm/via/via_dmablit.c > b/drivers/gpu/drm/via/via_dmablit.c > index 37c5e572993a..719d036c9384 100644 > --- a/drivers/gpu/drm/via/via_dmablit.c > +++ b/drivers/gpu/drm/via/via_dmablit.c > @@ -188,8 +188,8 @@ via_free_sg_info(struct pci_dev *pdev, drm_via_sg_info_t > *vsg) > kfree(vsg->desc_pages); > /* fall through */ > case dr_via_pages_locked: > - put_user_pages_dirty_lock(vsg->pages, vsg->num_pages, > - (vsg->direction == DMA_FROM_DEVICE)); > + unpin_user_pages_dirty_lock(vsg->pages, vsg->num_pages, > +(vsg->direction == DMA_FROM_DEVICE)); > /* fall through */ > case dr_via_pages_alloc: > vfree(vsg->pages); > diff --git a/drivers/infiniband/core/umem.c b/drivers/infiniband/core/umem.c > index 2c287ced3439..119a147da904 100644 > --- a/drivers/infiniband/core/umem.c > +++ b/drivers/infiniband/core/umem.c > @@ -54,7 +54,7 @@ static void __ib_umem_release(struct ib_device *dev, struct > ib_umem *umem, int d > > for_each_sg_page(umem->sg_head.sgl, _iter, umem->sg_nents, 0) { > page = sg_page_iter_page(_iter); > - put_user_pages_dirty_lock(, 1, umem->writable && dirty); > + unpin_user_pages_dirty_lock(, 1, umem->writable && dirty); > } > > sg_free_table(>sg_head); > diff --git a/drivers/infiniband/hw/hfi1/user_pages.c > b/drivers/infiniband/hw/hfi1/user_pages.c > index 9a94761765c0..3b505006c0a6 100644 > --- a/drivers/infiniband/hw/hfi1/user_pages.c > +++ b/drivers/infiniband/hw/hfi1/user_pages.c > @@ -118,7 +118,7 @@ int
[PATCH v6 24/24] mm, tree-wide: rename put_user_page*() to unpin_user_page*()
In order to provide a clearer, more symmetric API for pinning and unpinning DMA pages. This way, pin_user_pages*() calls match up with unpin_user_pages*() calls, and the API is a lot closer to being self-explanatory. Signed-off-by: John Hubbard --- Documentation/core-api/pin_user_pages.rst | 2 +- arch/powerpc/mm/book3s64/iommu_api.c| 6 +-- drivers/gpu/drm/via/via_dmablit.c | 4 +- drivers/infiniband/core/umem.c | 2 +- drivers/infiniband/hw/hfi1/user_pages.c | 2 +- drivers/infiniband/hw/mthca/mthca_memfree.c | 6 +-- drivers/infiniband/hw/qib/qib_user_pages.c | 2 +- drivers/infiniband/hw/qib/qib_user_sdma.c | 6 +-- drivers/infiniband/hw/usnic/usnic_uiom.c| 2 +- drivers/infiniband/sw/siw/siw_mem.c | 2 +- drivers/media/v4l2-core/videobuf-dma-sg.c | 4 +- drivers/platform/goldfish/goldfish_pipe.c | 4 +- drivers/vfio/vfio_iommu_type1.c | 2 +- fs/io_uring.c | 4 +- include/linux/mm.h | 30 +++--- include/linux/mmzone.h | 2 +- mm/gup.c| 46 ++--- mm/gup_benchmark.c | 2 +- mm/process_vm_access.c | 4 +- net/xdp/xdp_umem.c | 2 +- 20 files changed, 67 insertions(+), 67 deletions(-) diff --git a/Documentation/core-api/pin_user_pages.rst b/Documentation/core-api/pin_user_pages.rst index baa288a44a77..6d93ef203561 100644 --- a/Documentation/core-api/pin_user_pages.rst +++ b/Documentation/core-api/pin_user_pages.rst @@ -220,7 +220,7 @@ since the system was booted, via two new /proc/vmstat entries: :: /proc/vmstat/nr_foll_pin_requested Those are both going to show zero, unless CONFIG_DEBUG_VM is set. This is -because there is a noticeable performance drop in put_user_page(), when they +because there is a noticeable performance drop in unpin_user_page(), when they are activated. References diff --git a/arch/powerpc/mm/book3s64/iommu_api.c b/arch/powerpc/mm/book3s64/iommu_api.c index 196383e8e5a9..dd7aa5a4f33c 100644 --- a/arch/powerpc/mm/book3s64/iommu_api.c +++ b/arch/powerpc/mm/book3s64/iommu_api.c @@ -168,7 +168,7 @@ static long mm_iommu_do_alloc(struct mm_struct *mm, unsigned long ua, free_exit: /* free the references taken */ - put_user_pages(mem->hpages, pinned); + unpin_user_pages(mem->hpages, pinned); vfree(mem->hpas); kfree(mem); @@ -211,8 +211,8 @@ static void mm_iommu_unpin(struct mm_iommu_table_group_mem_t *mem) if (!page) continue; - put_user_pages_dirty_lock(>hpages[i], 1, - MM_IOMMU_TABLE_GROUP_PAGE_DIRTY); + unpin_user_pages_dirty_lock(>hpages[i], 1, + MM_IOMMU_TABLE_GROUP_PAGE_DIRTY); mem->hpas[i] = 0; } diff --git a/drivers/gpu/drm/via/via_dmablit.c b/drivers/gpu/drm/via/via_dmablit.c index 37c5e572993a..719d036c9384 100644 --- a/drivers/gpu/drm/via/via_dmablit.c +++ b/drivers/gpu/drm/via/via_dmablit.c @@ -188,8 +188,8 @@ via_free_sg_info(struct pci_dev *pdev, drm_via_sg_info_t *vsg) kfree(vsg->desc_pages); /* fall through */ case dr_via_pages_locked: - put_user_pages_dirty_lock(vsg->pages, vsg->num_pages, - (vsg->direction == DMA_FROM_DEVICE)); + unpin_user_pages_dirty_lock(vsg->pages, vsg->num_pages, + (vsg->direction == DMA_FROM_DEVICE)); /* fall through */ case dr_via_pages_alloc: vfree(vsg->pages); diff --git a/drivers/infiniband/core/umem.c b/drivers/infiniband/core/umem.c index 2c287ced3439..119a147da904 100644 --- a/drivers/infiniband/core/umem.c +++ b/drivers/infiniband/core/umem.c @@ -54,7 +54,7 @@ static void __ib_umem_release(struct ib_device *dev, struct ib_umem *umem, int d for_each_sg_page(umem->sg_head.sgl, _iter, umem->sg_nents, 0) { page = sg_page_iter_page(_iter); - put_user_pages_dirty_lock(, 1, umem->writable && dirty); + unpin_user_pages_dirty_lock(, 1, umem->writable && dirty); } sg_free_table(>sg_head); diff --git a/drivers/infiniband/hw/hfi1/user_pages.c b/drivers/infiniband/hw/hfi1/user_pages.c index 9a94761765c0..3b505006c0a6 100644 --- a/drivers/infiniband/hw/hfi1/user_pages.c +++ b/drivers/infiniband/hw/hfi1/user_pages.c @@ -118,7 +118,7 @@ int hfi1_acquire_user_pages(struct mm_struct *mm, unsigned long vaddr, size_t np void hfi1_release_user_pages(struct mm_struct *mm, struct page **p, size_t npages, bool dirty) { - put_user_pages_dirty_lock(p, npages, dirty); + unpin_user_pages_dirty_lock(p, npages, dirty); if (mm) { /*