[PATCH v8 03/26] mm: Cleanup __put_devmap_managed_page() vs ->page_free()

2019-12-09 Thread John Hubbard
p is only needed in the MEMORY_DEVICE_FSDAX case, but it does no harm in the MEMORY_DEVICE_DEVDAX and MEMORY_DEVICE_PCI_P2PDMA case. Reviewed-by: Christoph Hellwig Reviewed-by: Jérôme Glisse Cc: Jan Kara Cc: Ira Weiny Signed-off-by: Dan Williams Signed-off-by: John Hubbard --- drivers/nvdimm/pm

[PATCH v8 04/26] mm: devmap: refactor 1-based refcounting for ZONE_DEVICE pages

2019-12-09 Thread John Hubbard
wed-by: Dan Williams Reviewed-by: Jan Kara Signed-off-by: Ira Weiny Signed-off-by: John Hubbard --- include/linux/mm.h | 17 + mm/memremap.c | 16 ++-- mm/swap.c | 24 3 files changed, 39 insertions(+), 18 deletions(-) diff -

[PATCH v8 11/26] goldish_pipe: convert to pin_user_pages() and put_user_page()

2019-12-09 Thread John Hubbard
instead of here, so just delete the local release_user_pages() entirely, and call put_user_pages_dirty_lock() directly, instead. [1] https://lore.kernel.org/r/20190723153640.gb...@lst.de Reviewed-by: Jan Kara Reviewed-by: Ira Weiny Signed-off-by: John Hubbard --- drivers/platform/goldfish/goldf

[PATCH v8 14/26] drm/via: set FOLL_PIN via pin_user_pages_fast()

2019-12-09 Thread John Hubbard
: Ira Weiny Signed-off-by: John Hubbard --- drivers/gpu/drm/via/via_dmablit.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/via/via_dmablit.c b/drivers/gpu/drm/via/via_dmablit.c index 3db000aacd26..37c5e572993a 100644 --- a/drivers/gpu/drm/via/via_dmablit.c

[PATCH v8 17/26] media/v4l2-core: set pages dirty upon releasing DMA buffers

2019-12-09 Thread John Hubbard
lling set_page_dirty_lock() if the CPU pages were potentially receiving data from the device. Reviewed-by: Christoph Hellwig Acked-by: Hans Verkuil Cc: Mauro Carvalho Chehab Cc: Signed-off-by: John Hubbard --- drivers/media/v4l2-core/videobuf-dma-sg.c | 5 - 1 file changed, 4 insertions(+), 1 del

[PATCH v8 20/26] powerpc: book3s64: convert to pin_user_pages() and put_user_page()

2019-12-09 Thread John Hubbard
accurate. As Christoph Hellwig put it, "set_page_dirty() is only safe if we are dealing with a file backed page where we have reference on the inode it hangs off." [1] [1] https://lore.kernel.org/r/20190723153640.gb...@lst.de Cc: Jan Kara Signed-off-by: John Hubbard --- arch/powerpc/m

[PATCH v8 13/26] mm/process_vm_access: set FOLL_PIN via pin_user_pages_remote()

2019-12-09 Thread John Hubbard
or easier reading of process_vm_rw_single_vec(). Reviewed-by: Jan Kara Reviewed-by: Jérôme Glisse Reviewed-by: Ira Weiny Signed-off-by: John Hubbard --- mm/process_vm_access.c | 28 +++- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/mm/proc

[PATCH v8 01/26] mm/gup: factor out duplicate code from four routines

2019-12-09 Thread John Hubbard
e the successful end of each routine, to increment *nr. Reviewed-by: Christoph Hellwig Reviewed-by: Jérôme Glisse Reviewed-by: Jan Kara Cc: Ira Weiny Cc: Christoph Hellwig Cc: Aneesh Kumar K.V Signed-off-by: John Hubbard --- mm/gup.c | 91 ++

[PATCH v8 09/26] IB/umem: use get_user_pages_fast() to pin DMA pages

2019-12-09 Thread John Hubbard
Reviewed-by: Ira Weiny Signed-off-by: John Hubbard --- drivers/infiniband/core/umem.c | 17 ++--- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/drivers/infiniband/core/umem.c b/drivers/infiniband/core/umem.c index 7a3b99597ead..214e87aa609d 100644 --- a/drivers

[PATCH v8 00/26] mm/gup: track dma-pinned pages: FOLL_PIN

2019-12-09 Thread John Hubbard
84574/ [2] DMA and get_user_pages() (LPC: Dec 12, 2018): https://lwn.net/Articles/774411/ [3] The trouble with get_user_pages() (Apr 30, 2018): https://lwn.net/Articles/753027/ Dan Williams (1): mm: Cleanup __put_devmap_managed_page() vs ->page_free() John Hubbard (25): mm/gup: fac

[PATCH v8 10/26] mm/gup: introduce pin_user_pages*() and FOLL_PIN

2019-12-09 Thread John Hubbard
timil Babka for explaining the 4 cases in this documentation. (I've reworded it and expanded upon it.) Reviewed-by: Jan Kara Reviewed-by: Mike Rapoport # Documentation Reviewed-by: Jérôme Glisse Cc: Jonathan Corbet Cc: Ira Weiny Signed-off-by: John Hubbard --- Documentatio

[PATCH v8 02/26] mm/gup: move try_get_compound_head() to top, fix minor issues

2019-12-09 Thread John Hubbard
An upcoming patch uses try_get_compound_head() more widely, so move it to the top of gup.c. Also fix a tiny spelling error and a checkpatch.pl warning. Reviewed-by: Christoph Hellwig Reviewed-by: Jan Kara Reviewed-by: Ira Weiny Signed-off-by: John Hubbard --- mm/gup.c | 29

[PATCH v8 16/26] net/xdp: set FOLL_PIN via pin_user_pages()

2019-12-09 Thread John Hubbard
convert from the get_user_pages()/put_page() model, to the pin_user_pages()/put_user_page() model, the only change required here is to change get_user_pages() to pin_user_pages(). Acked-by: Björn Töpel Signed-off-by: John Hubbard --- net/xdp/xdp_umem.c | 2 +- 1 file changed, 1 insertion(+), 1

[PATCH v8 06/26] mm: fix get_user_pages_remote()'s handling of FOLL_LONGTERM

2019-12-09 Thread John Hubbard
Thanks to Jason Gunthorpe for pointing out a clean way to fix this, and to Dan Williams for helping clarify the DAX refactoring. Tested-by: Alex Williamson Acked-by: Alex Williamson Reviewed-by: Jason Gunthorpe Reviewed-by: Ira Weiny Suggested-by: Jason Gunthorpe Cc: Dan Williams Cc: Jerome Gl

[PATCH v8 12/26] IB/{core, hw, umem}: set FOLL_PIN via pin_user_pages*(), fix up ODP

2019-12-09 Thread John Hubbard
ned-off-by: John Hubbard --- drivers/infiniband/core/umem.c | 2 +- drivers/infiniband/core/umem_odp.c | 13 ++--- drivers/infiniband/hw/hfi1/user_pages.c | 2 +- drivers/infiniband/hw/mthca/mthca_memfree.c | 2 +- drivers/infiniband/hw/qib/qib_user_pag

[PATCH v8 08/26] mm/gup: allow FOLL_FORCE for get_user_pages_fast()

2019-12-09 Thread John Hubbard
_FORCE to be set for get_user_pages_fast(). Fixes: 817be129e6f2 ("mm: validate get_user_pages_fast flags") Cc: Christoph Hellwig Reviewed-by: Leon Romanovsky Signed-off-by: John Hubbard --- mm/gup.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mm/gup.c

[PATCH v8 18/26] media/v4l2-core: pin_user_pages (FOLL_PIN) and put_user_page() conversion

2019-12-09 Thread John Hubbard
1. Change v4l2 from get_user_pages() to pin_user_pages(). 2. Because all FOLL_PIN-acquired pages must be released via put_user_page(), also convert the put_page() call over to put_user_pages_dirty_lock(). Acked-by: Hans Verkuil Cc: Ira Weiny Signed-off-by: John Hubbard --- drivers/media/v4l2

[PATCH v8 23/26] mm/gup: pass flags arg to __gup_device_* functions

2019-12-09 Thread John Hubbard
Reviewed-by: Jérôme Glisse Reviewed-by: Ira Weiny Cc: Kirill A. Shutemov Signed-off-by: John Hubbard --- mm/gup.c | 28 ++-- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/mm/gup.c b/mm/gup.c index 73aedcefa4bd..687d48506f04 100644 --- a/mm/gup.c +++ b/mm

[PATCH v8 21/26] mm/gup_benchmark: use proper FOLL_WRITE flags instead of hard-coding "1"

2019-12-09 Thread John Hubbard
t;gup_flags & 1" phrases in the function calls. Reviewed-by: Ira Weiny Signed-off-by: John Hubbard --- mm/gup_benchmark.c | 9 ++--- tools/testing/selftests/vm/gup_benchmark.c | 6 +- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a

[PATCH v8 22/26] mm, tree-wide: rename put_user_page*() to unpin_user_page*()

2019-12-09 Thread John Hubbard
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. Reviewed-by: Jan Kara Signed-off-by: John Hubbard --- Documentation/core-api

[PATCH v8 24/26] mm/gup: track FOLL_PIN pages

2019-12-09 Thread John Hubbard
t/Articles/753027/ Suggested-by: Jan Kara Suggested-by: Jérôme Glisse Signed-off-by: John Hubbard --- Documentation/core-api/pin_user_pages.rst | 2 +- include/linux/mm.h| 73 - include/linux/mmzone.h| 2 + include/linux/page_ref.h

[PATCH v8 25/26] mm/gup_benchmark: support pin_user_pages() and related calls

2019-12-09 Thread John Hubbard
_user_pages(), check each page: if page_dma_pinned() returns false, then WARN and return. Do this outside of the benchmark timestamps, so that it doesn't affect reported times. Reviewed-by: Ira Weiny Signed-off-by: John Hubbard --- mm/gup_benchmark.c | 65 +++

[PATCH v8 26/26] selftests/vm: run_vmtests: invoke gup_benchmark with basic FOLL_PIN coverage

2019-12-09 Thread John Hubbard
s are fairly early in the run_vmtests script, because with test suites, it's usually preferable to put the shorter, faster tests first, all other things being equal. Reviewed-by: Ira Weiny Signed-off-by: John Hubbard --- tools/testing/selftests/vm/run_vmtests | 22 ++ 1 fi

[PATCH v8 19/26] vfio, mm: pin_user_pages (FOLL_PIN) and put_user_page() conversion

2019-12-09 Thread John Hubbard
[1] [1] https://lore.kernel.org/r/20190723153640.gb...@lst.de Tested-by: Alex Williamson Acked-by: Alex Williamson Signed-off-by: John Hubbard --- drivers/vfio/vfio_iommu_type1.c | 7 +++ 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers/vfio/vfio_iommu_type1.c b/drivers/vfio/v

Re: [PATCH v8 20/26] powerpc: book3s64: convert to pin_user_pages() and put_user_page()

2019-12-09 Thread John Hubbard
On 12/9/19 2:53 PM, John Hubbard wrote: ... > @@ -212,10 +211,9 @@ static void mm_iommu_unpin(struct > mm_iommu_table_group_mem_t *mem) > if (!page) > continue; > > - if (mem->hpas[i] & MM_IOM

Re: [PATCH v8 17/26] media/v4l2-core: set pages dirty upon releasing DMA buffers

2019-12-09 Thread John Hubbard
On 12/9/19 4:56 PM, Andrew Morton wrote: On Mon, 9 Dec 2019 14:53:35 -0800 John Hubbard wrote: After DMA is complete, and the device and CPU caches are synchronized, it's still required to mark the CPU pages as dirty, if the data was coming from the device. However, this driver was

Re: [PATCH v8 20/26] powerpc: book3s64: convert to pin_user_pages() and put_user_page()

2019-12-09 Thread John Hubbard
On 12/9/19 3:46 PM, John Hubbard wrote: On 12/9/19 2:53 PM, John Hubbard wrote: ... @@ -212,10 +211,9 @@ static void mm_iommu_unpin(struct mm_iommu_table_group_mem_t *mem) if (!page) continue; - if (mem->hpas[i] & MM_IOMMU_TABLE_GROUP_PAG

Re: [PATCH v3 00/39] put_user_pages(): miscellaneous call sites

2019-08-30 Thread John Hubbard
simplify a few sites anyway. But they'll need follow-on changes to, one way or another, set FOLL_PIN. d) And of course a few sites whose patches get dropped, as mentioned above. [1] https://lore.kernel.org/r/20190821040727.19650-3-jhubb.

Re: [PATCH] mm, notifier: Fix early return case for new lockdep annotations

2019-09-06 Thread John Hubbard
_start_map); > if (mm_has_notifiers(range->mm)) { > range->flags &= ~MMU_NOTIFIER_RANGE_BLOCKABLE; > - return __mmu_notifier_invalidate_range_start(range); > + ret = __mmu_notifier_invalidate_range_start(range); > } > lock_map_release(&a

[PATCH v6 3/3] net/xdp: convert put_page() to put_user_page*()

2019-08-04 Thread john . hubbard
From: John Hubbard For pages that were retained via get_user_pages*(), release those pages via the new put_user_page*() routines, instead of via put_page() or release_pages(). This is part a tree-wide conversion, as described in commit fc1d8e7cca2d ("mm: introduce put_user_page*(), placeh

[PATCH v6 2/3] drivers/gpu/drm/via: convert put_page() to put_user_page*()

2019-08-04 Thread john . hubbard
From: John Hubbard For pages that were retained via get_user_pages*(), release those pages via the new put_user_page*() routines, instead of via put_page() or release_pages(). This is part a tree-wide conversion, as described in commit fc1d8e7cca2d ("mm: introduce put_user_page*(), placeh

[PATCH v6 1/3] mm/gup: add make_dirty arg to put_user_pages_dirty_lock()

2019-08-04 Thread john . hubbard
From: John Hubbard Provide a more capable variation of put_user_pages_dirty_lock(), and delete put_user_pages_dirty(). This is based on the following: 1. Lots of call sites become simpler if a bool is passed into put_user_page*(), instead of making the call site choose which put_user_page

[PATCH v6 0/3] mm/gup: add make_dirty arg to put_user_pages_dirty_lock()

2019-08-04 Thread john . hubbard
From: John Hubbard Changes since v5: * Patch #1: Fixed a bug that I introduced in v4: drivers/infiniband/sw/siw/siw_mem.c needs to refer to umem->page_chunk[i].plist, rather than umem->page_chunk[i]. Changes since v4: * Christophe Hellwig's review applied: deleted siw_free_

[PATCH v2 11/34] scif: convert put_page() to put_user_page*()

2019-08-05 Thread john . hubbard
From: John Hubbard For pages that were retained via get_user_pages*(), release those pages via the new put_user_page*() routines, instead of via put_page() or release_pages(). This is part a tree-wide conversion, as described in commit fc1d8e7cca2d ("mm: introduce put_user_page*(), placeh

[PATCH v2 10/34] genwqe: convert put_page() to put_user_page*()

2019-08-05 Thread john . hubbard
From: John Hubbard For pages that were retained via get_user_pages*(), release those pages via the new put_user_page*() routines, instead of via put_page() or release_pages(). This is part a tree-wide conversion, as described in commit fc1d8e7cca2d ("mm: introduce put_user_page*(), placeh

[PATCH v2 32/34] goldfish_pipe: convert put_page() to put_user_page*()

2019-08-05 Thread john . hubbard
From: John Hubbard For pages that were retained via get_user_pages*(), release those pages via the new put_user_page*() routines, instead of via put_page() or release_pages(). This is part a tree-wide conversion, as described in commit fc1d8e7cca2d ("mm: introduce put_user_page*(), placeh

[PATCH v2 27/34] mm/memory.c: convert put_page() to put_user_page*()

2019-08-05 Thread john . hubbard
From: John Hubbard For pages that were retained via get_user_pages*(), release those pages via the new put_user_page*() routines, instead of via put_page() or release_pages(). This is part a tree-wide conversion, as described in commit fc1d8e7cca2d ("mm: introduce put_user_page*(), placeh

[PATCH v2 14/34] oradax: convert put_page() to put_user_page*()

2019-08-05 Thread john . hubbard
From: John Hubbard For pages that were retained via get_user_pages*(), release those pages via the new put_user_page*() routines, instead of via put_page() or release_pages(). This is part a tree-wide conversion, as described in commit fc1d8e7cca2d ("mm: introduce put_user_page*(), placeh

[PATCH v2 07/34] drm/radeon: convert put_page() to put_user_page*()

2019-08-05 Thread john . hubbard
From: John Hubbard For pages that were retained via get_user_pages*(), release those pages via the new put_user_page*() routines, instead of via put_page() or release_pages(). This is part a tree-wide conversion, as described in commit fc1d8e7cca2d ("mm: introduce put_user_page*(), placeh

[PATCH v2 04/34] x86/kvm: convert put_page() to put_user_page*()

2019-08-05 Thread john . hubbard
From: John Hubbard For pages that were retained via get_user_pages*(), release those pages via the new put_user_page*() routines, instead of via put_page(). This is part a tree-wide conversion, as described in commit fc1d8e7cca2d ("mm: introduce put_user_page*(), placeholder versions&q

[PATCH v2 08/34] media/ivtv: convert put_page() to put_user_page*()

2019-08-05 Thread john . hubbard
From: John Hubbard For pages that were retained via get_user_pages*(), release those pages via the new put_user_page*() routines, instead of via put_page() or release_pages(). This is part a tree-wide conversion, as described in commit fc1d8e7cca2d ("mm: introduce put_user_page*(), placeh

[PATCH v2 18/34] fbdev/pvr2fb: convert put_page() to put_user_page*()

2019-08-05 Thread john . hubbard
From: John Hubbard For pages that were retained via get_user_pages*(), release those pages via the new put_user_page*() routines, instead of via put_page() or release_pages(). This is part a tree-wide conversion, as described in commit fc1d8e7cca2d ("mm: introduce put_user_page*(), placeh

Re: [PATCH 16/34] drivers/tee: convert put_page() to put_user_page*()

2019-08-05 Thread John Hubbard
On 8/1/19 11:29 PM, Jens Wiklander wrote: On Fri, Aug 2, 2019 at 4:20 AM wrote: From: John Hubbard For pages that were retained via get_user_pages*(), release those pages via the new put_user_page*() routines, instead of via put_page() or release_pages(). This is part a tree-wide

[PATCH v2 06/34] drm/i915: convert put_page() to put_user_page*()

2019-08-05 Thread john . hubbard
From: John Hubbard For pages that were retained via get_user_pages*(), release those pages via the new put_user_page*() routines, instead of via put_page() or release_pages(). This is part a tree-wide conversion, as described in commit fc1d8e7cca2d ("mm: introduce put_user_page*(), placeh

[PATCH v2 09/34] media/v4l2-core/mm: convert put_page() to put_user_page*()

2019-08-05 Thread john . hubbard
From: John Hubbard For pages that were retained via get_user_pages*(), release those pages via the new put_user_page*() routines, instead of via put_page() or release_pages(). This is part a tree-wide conversion, as described in commit fc1d8e7cca2d ("mm: introduce put_user_page*(), placeh

Re: [PATCH 00/34] put_user_pages(): miscellaneous call sites

2019-08-05 Thread John Hubbard
ty though. [1] "mm/gup: debug tracking of get_user_pages() references" : https://github.com/johnhubbard/linux/commit/21ff7d6161ec2a14d3f9d17c98abb00cc969d4d6 thanks, -- John Hubbard NVIDIA ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel

[PATCH v2 30/34] crypt: convert put_page() to put_user_page*()

2019-08-05 Thread john . hubbard
From: John Hubbard For pages that were retained via get_user_pages*(), release those pages via the new put_user_page*() routines, instead of via put_page() or release_pages(). This is part a tree-wide conversion, as described in commit fc1d8e7cca2d ("mm: introduce put_user_page*(), placeh

[PATCH v2 25/34] mm/frame_vector.c: convert put_page() to put_user_page*()

2019-08-05 Thread john . hubbard
From: John Hubbard For pages that were retained via get_user_pages*(), release those pages via the new put_user_page*() routines, instead of via put_page() or release_pages(). This is part a tree-wide conversion, as described in commit fc1d8e7cca2d ("mm: introduce put_user_page*(), placeh

[PATCH v2 22/34] orangefs: convert put_page() to put_user_page*()

2019-08-05 Thread john . hubbard
From: John Hubbard For pages that were retained via get_user_pages*(), release those pages via the new put_user_page*() routines, instead of via put_page() or release_pages(). This is part a tree-wide conversion, as described in commit fc1d8e7cca2d ("mm: introduce put_user_page*(), placeh

Re: [PATCH 00/34] put_user_pages(): miscellaneous call sites

2019-08-05 Thread John Hubbard
we actually did the pinning. This is all heading toward marking pages as pinned, so we should finally get there. I'll post the RFC for tracking pinned pages shortly. thanks, -- John Hubbard NVIDIA ___ dri-devel mailing list dri-devel@li

[PATCH v2 19/34] fsl_hypervisor: convert put_page() to put_user_page*()

2019-08-05 Thread john . hubbard
From: John Hubbard For pages that were retained via get_user_pages*(), release those pages via the new put_user_page*() routines, instead of via put_page() or release_pages(). This is part a tree-wide conversion, as described in commit fc1d8e7cca2d ("mm: introduce put_user_page*(), placeh

Re: [PATCH 31/34] nfs: convert put_page() to put_user_page*()

2019-08-05 Thread John Hubbard
ages); + put_user_pages(pagevec, npages); kvfree(pagevec); if (result < 0) break; thanks, -- John Hubbard NVIDIA ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel

[PATCH v2 00/34] put_user_pages(): miscellaneous call sites

2019-08-05 Thread john . hubbard
From: John Hubbard Changes since v1: * 9 out of 34 patches have been reviewed or ack'd or changed: * Picked up Keith's Reviewed-by for patch 26 (gup_benchmark). * Picked up ACKs for patches 3, 10, 15, 16 (ceph, genwqe, staging/vc04_services, drivers/tee). * Pat

[PATCH v2 01/34] mm/gup: add make_dirty arg to put_user_pages_dirty_lock()

2019-08-05 Thread john . hubbard
From: John Hubbard Provide a more capable variation of put_user_pages_dirty_lock(), and delete put_user_pages_dirty(). This is based on the following: 1. Lots of call sites become simpler if a bool is passed into put_user_page*(), instead of making the call site choose which put_user_page

[PATCH v2 16/34] drivers/tee: convert put_page() to put_user_page*()

2019-08-05 Thread john . hubbard
From: John Hubbard For pages that were retained via get_user_pages*(), release those pages via the new put_user_page*() routines, instead of via put_page() or release_pages(). This is part a tree-wide conversion, as described in commit fc1d8e7cca2d ("mm: introduce put_user_page*(), placeh

[PATCH v2 29/34] mm/process_vm_access.c: convert put_page() to put_user_page*()

2019-08-05 Thread john . hubbard
From: John Hubbard For pages that were retained via get_user_pages*(), release those pages via the new put_user_page*() routines, instead of via put_page() or release_pages(). This is part a tree-wide conversion, as described in commit fc1d8e7cca2d ("mm: introduce put_user_page*(), placeh

[PATCH v2 26/34] mm/gup_benchmark.c: convert put_page() to put_user_page*()

2019-08-05 Thread john . hubbard
From: John Hubbard For pages that were retained via get_user_pages*(), release those pages via the new put_user_page*() routines, instead of via put_page() or release_pages(). This is part a tree-wide conversion, as described in commit fc1d8e7cca2d ("mm: introduce put_user_page*(), placeh

[PATCH v2 21/34] fs/exec.c: convert put_page() to put_user_page*()

2019-08-05 Thread john . hubbard
From: John Hubbard For pages that were retained via get_user_pages*(), release those pages via the new put_user_page*() routines, instead of via put_page() or release_pages(). This is part a tree-wide conversion, as described in commit fc1d8e7cca2d ("mm: introduce put_user_page*(), placeh

Re: [PATCH 06/34] drm/i915: convert put_page() to put_user_page*()

2019-08-05 Thread John Hubbard
On 8/2/19 2:19 AM, Joonas Lahtinen wrote: Quoting john.hubb...@gmail.com (2019-08-02 05:19:37) From: John Hubbard For pages that were retained via get_user_pages*(), release those pages via the new put_user_page*() routines, instead of via put_page() or release_pages(). This is part a tree

Re: [PATCH 20/34] xen: convert put_page() to put_user_page*()

2019-08-05 Thread John Hubbard
On 8/2/19 9:09 AM, Weiny, Ira wrote: On 02.08.19 07:48, John Hubbard wrote: On 8/1/19 9:36 PM, Juergen Gross wrote: On 02.08.19 04:19, john.hubb...@gmail.com wrote: From: John Hubbard ... If that's not the case (both here, and in 3 or 4 other patches in this series, then as you sa

[PATCH v2 17/34] vfio: convert put_page() to put_user_page*()

2019-08-05 Thread john . hubbard
From: John Hubbard For pages that were retained via get_user_pages*(), release those pages via the new put_user_page*() routines, instead of via put_page() or release_pages(). This is part a tree-wide conversion, as described in commit fc1d8e7cca2d ("mm: introduce put_user_page*(), placeh

[PATCH v2 20/34] xen: convert put_page() to put_user_page*()

2019-08-05 Thread john . hubbard
From: John Hubbard For pages that were retained via get_user_pages*(), release those pages via the new put_user_page*() routines, instead of via put_page() or release_pages(). This is part a tree-wide conversion, as described in commit fc1d8e7cca2d ("mm: introduce put_user_page*(), placeh

[PATCH v2 03/34] net/ceph: convert put_page() to put_user_page*()

2019-08-05 Thread john . hubbard
From: John Hubbard For pages that were retained via get_user_pages*(), release those pages via the new put_user_page*() routines, instead of via put_page() or release_pages(). This is part a tree-wide conversion, as described in commit fc1d8e7cca2d ("mm: introduce put_user_page*(), placeh

[PATCH v2 24/34] futex: convert put_page() to put_user_page*()

2019-08-05 Thread john . hubbard
From: John Hubbard For pages that were retained via get_user_pages*(), release those pages via the new put_user_page*() routines, instead of via put_page() or release_pages(). This is part a tree-wide conversion, as described in commit fc1d8e7cca2d ("mm: introduce put_user_page*(), placeh

[PATCH v2 12/34] vmci: convert put_page() to put_user_page*()

2019-08-05 Thread john . hubbard
From: John Hubbard For pages that were retained via get_user_pages*(), release those pages via the new put_user_page*() routines, instead of via put_page() or release_pages(). This is part a tree-wide conversion, as described in commit fc1d8e7cca2d ("mm: introduce put_user_page*(), placeh

[PATCH v2 02/34] net/rds: convert put_page() to put_user_page*()

2019-08-05 Thread john . hubbard
From: John Hubbard For pages that were retained via get_user_pages*(), release those pages via the new put_user_page*() routines, instead of via put_page() or release_pages(). This is part a tree-wide conversion, as described in commit fc1d8e7cca2d ("mm: introduce put_user_page*(), placeh

[PATCH v2 31/34] fs/nfs: convert put_page() to put_user_page*()

2019-08-05 Thread john . hubbard
From: John Hubbard For pages that were retained via get_user_pages*(), release those pages via the new put_user_page*() routines, instead of via put_page() or release_pages(). This is part a tree-wide conversion, as described in commit fc1d8e7cca2d ("mm: introduce put_user_page*(), placeh

[PATCH v2 05/34] drm/etnaviv: convert release_pages() to put_user_pages()

2019-08-05 Thread john . hubbard
From: John Hubbard For pages that were retained via get_user_pages*(), release those pages via the new put_user_page*() routines, instead of via put_page() or release_pages(). This is part a tree-wide conversion, as described in commit fc1d8e7cca2d ("mm: introduce put_user_page*(), placeh

[PATCH v2 15/34] staging/vc04_services: convert put_page() to put_user_page*()

2019-08-05 Thread john . hubbard
From: John Hubbard For pages that were retained via get_user_pages*(), release those pages via the new put_user_page*() routines, instead of via put_page() or release_pages(). This is part a tree-wide conversion, as described in commit fc1d8e7cca2d ("mm: introduce put_user_page*(), placeh

[PATCH v2 34/34] fs/binfmt_elf: convert put_page() to put_user_page*()

2019-08-05 Thread john . hubbard
older versions"). get_dump_page calls get_user_page so put_user_page must be used to match. Signed-off-by: Ira Weiny Signed-off-by: John Hubbard --- fs/binfmt_elf.c | 2 +- fs/binfmt_elf_fdpic.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/fs/binfmt_

[PATCH v2 33/34] kernel/events/core.c: convert put_page() to put_user_page*()

2019-08-05 Thread john . hubbard
From: John Hubbard For pages that were retained via get_user_pages*(), release those pages via the new put_user_page*() routines, instead of via put_page() or release_pages(). This is part a tree-wide conversion, as described in commit fc1d8e7cca2d ("mm: introduce put_user_page*(), placeh

[PATCH v2 23/34] uprobes: convert put_page() to put_user_page*()

2019-08-05 Thread john . hubbard
From: John Hubbard For pages that were retained via get_user_pages*(), release those pages via the new put_user_page*() routines, instead of via put_page() or release_pages(). This is part a tree-wide conversion, as described in commit fc1d8e7cca2d ("mm: introduce put_user_page*(), placeh

[PATCH v2 13/34] rapidio: convert put_page() to put_user_page*()

2019-08-05 Thread john . hubbard
From: John Hubbard For pages that were retained via get_user_pages*(), release those pages via the new put_user_page*() routines, instead of via put_page() or release_pages(). This is part a tree-wide conversion, as described in commit fc1d8e7cca2d ("mm: introduce put_user_page*(), placeh

Re: [PATCH 06/34] drm/i915: convert put_page() to put_user_page*()

2019-08-05 Thread John Hubbard
On 8/2/19 11:48 AM, John Hubbard wrote: > On 8/2/19 2:19 AM, Joonas Lahtinen wrote: >> Quoting john.hubb...@gmail.com (2019-08-02 05:19:37) >>> From: John Hubbard ... > In order to deal with the merge problem, I'll drop this patch from my series, > and I'd reco

[PATCH v2 28/34] mm/madvise.c: convert put_page() to put_user_page*()

2019-08-05 Thread john . hubbard
From: John Hubbard For pages that were retained via get_user_pages*(), release those pages via the new put_user_page*() routines, instead of via put_page() or release_pages(). This is part a tree-wide conversion, as described in commit fc1d8e7cca2d ("mm: introduce put_user_page*(), placeh

Re: [PATCH v6 1/3] mm/gup: add make_dirty arg to put_user_pages_dirty_lock()

2019-08-06 Thread John Hubbard
On 8/6/19 10:40 AM, Ira Weiny wrote: > On Sun, Aug 04, 2019 at 02:40:40PM -0700, john.hubb...@gmail.com wrote: >> From: John Hubbard >> >> Provide a more capable variation of put_user_pages_dirty_lock(), >> and delete put_user_pages_dirty(). This is based on the >

[PATCH v3 20/41] fbdev/pvr2fb: convert put_page() to put_user_page*()

2019-08-07 Thread john . hubbard
From: John Hubbard For pages that were retained via get_user_pages*(), release those pages via the new put_user_page*() routines, instead of via put_page() or release_pages(). This is part a tree-wide conversion, as described in commit fc1d8e7cca2d ("mm: introduce put_user_page*(), placeh

[PATCH v3 00/39] put_user_pages(): miscellaneous call sites

2019-08-07 Thread john . hubbard
From: John Hubbard Hi, This consolidates everything into a "here's what's remaining for Andrew to add to his tree (for now)" series: * The first patch is an updated version of one that is already in the akpm tree. * The next two patches are already in the akpm tre

[PATCH v3 34/41] goldfish_pipe: convert put_page() to put_user_page*()

2019-08-07 Thread john . hubbard
From: John Hubbard For pages that were retained via get_user_pages*(), release those pages via the new put_user_page*() routines, instead of via put_page() or release_pages(). This is part a tree-wide conversion, as described in commit fc1d8e7cca2d ("mm: introduce put_user_page*(), placeh

[PATCH v3 35/41] kernel/events/core.c: convert put_page() to put_user_page*()

2019-08-07 Thread john . hubbard
From: John Hubbard For pages that were retained via get_user_pages*(), release those pages via the new put_user_page*() routines, instead of via put_page() or release_pages(). This is part a tree-wide conversion, as described in commit fc1d8e7cca2d ("mm: introduce put_user_page*(), placeh

[PATCH v3 12/41] genwqe: convert put_page() to put_user_page*()

2019-08-07 Thread john . hubbard
From: John Hubbard For pages that were retained via get_user_pages*(), release those pages via the new put_user_page*() routines, instead of via put_page() or release_pages(). This is part a tree-wide conversion, as described in commit fc1d8e7cca2d ("mm: introduce put_user_page*(), placeh

[PATCH v3 32/41] crypt: convert put_page() to put_user_page*()

2019-08-07 Thread john . hubbard
From: John Hubbard For pages that were retained via get_user_pages*(), release those pages via the new put_user_page*() routines, instead of via put_page() or release_pages(). This is part a tree-wide conversion, as described in commit fc1d8e7cca2d ("mm: introduce put_user_page*(), placeh

[PATCH v3 11/41] media/v4l2-core/mm: convert put_page() to put_user_page*()

2019-08-07 Thread john . hubbard
From: John Hubbard For pages that were retained via get_user_pages*(), release those pages via the new put_user_page*() routines, instead of via put_page() or release_pages(). This is part a tree-wide conversion, as described in commit fc1d8e7cca2d ("mm: introduce put_user_page*(), placeh

Re: [PATCH v2 01/34] mm/gup: add make_dirty arg to put_user_pages_dirty_lock()

2019-08-07 Thread John Hubbard
On 8/6/19 10:39 AM, Ira Weiny wrote: > On Sun, Aug 04, 2019 at 03:48:42PM -0700, john.hubb...@gmail.com wrote: >> From: John Hubbard ... >> - >> /** >> - * put_user_pages_dirty() - release and dirty an array of gup-pinned pages >> - * @pages: array of page

[PATCH v3 15/41] rapidio: convert put_page() to put_user_page*()

2019-08-07 Thread john . hubbard
From: John Hubbard For pages that were retained via get_user_pages*(), release those pages via the new put_user_page*() routines, instead of via put_page() or release_pages(). This is part a tree-wide conversion, as described in commit fc1d8e7cca2d ("mm: introduce put_user_page*(), placeh

[PATCH v3 10/41] media/ivtv: convert put_page() to put_user_page*()

2019-08-07 Thread john . hubbard
From: John Hubbard For pages that were retained via get_user_pages*(), release those pages via the new put_user_page*() routines, instead of via put_page() or release_pages(). This is part a tree-wide conversion, as described in commit fc1d8e7cca2d ("mm: introduce put_user_page*(), placeh

[PATCH v3 27/41] mm/frame_vector.c: convert put_page() to put_user_page*()

2019-08-07 Thread john . hubbard
From: John Hubbard For pages that were retained via get_user_pages*(), release those pages via the new put_user_page*() routines, instead of via put_page() or release_pages(). This is part a tree-wide conversion, as described in commit fc1d8e7cca2d ("mm: introduce put_user_page*(), placeh

[PATCH v3 30/41] mm/madvise.c: convert put_page() to put_user_page*()

2019-08-07 Thread john . hubbard
From: John Hubbard For pages that were retained via get_user_pages*(), release those pages via the new put_user_page*() routines, instead of via put_page() or release_pages(). This is part a tree-wide conversion, as described in commit fc1d8e7cca2d ("mm: introduce put_user_page*(), placeh

[PATCH v3 05/41] net/ceph: convert put_page() to put_user_page*()

2019-08-07 Thread john . hubbard
From: John Hubbard For pages that were retained via get_user_pages*(), release those pages via the new put_user_page*() routines, instead of via put_page() or release_pages(). This is part a tree-wide conversion, as described in commit fc1d8e7cca2d ("mm: introduce put_user_page*(), placeh

[PATCH v3 41/41] mm/ksm: convert put_page() to put_user_page*()

2019-08-07 Thread john . hubbard
From: John Hubbard For pages that were retained via get_user_pages*(), release those pages via the new put_user_page*() routines, instead of via put_page() or release_pages(). This is part a tree-wide conversion, as described in commit fc1d8e7cca2d ("mm: introduce put_user_page*(), placeh

[PATCH v3 13/41] scif: convert put_page() to put_user_page*()

2019-08-07 Thread john . hubbard
From: John Hubbard For pages that were retained via get_user_pages*(), release those pages via the new put_user_page*() routines, instead of via put_page() or release_pages(). This is part a tree-wide conversion, as described in commit fc1d8e7cca2d ("mm: introduce put_user_page*(), placeh

[PATCH v3 04/41] net/rds: convert put_page() to put_user_page*()

2019-08-07 Thread john . hubbard
From: John Hubbard For pages that were retained via get_user_pages*(), release those pages via the new put_user_page*() routines, instead of via put_page() or release_pages(). This is part a tree-wide conversion, as described in commit fc1d8e7cca2d ("mm: introduce put_user_page*(), placeh

[PATCH v3 01/41] mm/gup: add make_dirty arg to put_user_pages_dirty_lock()

2019-08-07 Thread john . hubbard
From: John Hubbard Provide a more capable variation of put_user_pages_dirty_lock(), and delete put_user_pages_dirty(). This is based on the following: 1. Lots of call sites become simpler if a bool is passed into put_user_page*(), instead of making the call site choose which put_user_page

[PATCH v3 06/41] x86/kvm: convert put_page() to put_user_page*()

2019-08-07 Thread john . hubbard
From: John Hubbard For pages that were retained via get_user_pages*(), release those pages via the new put_user_page*() routines, instead of via put_page(). This is part a tree-wide conversion, as described in commit fc1d8e7cca2d ("mm: introduce put_user_page*(), placeholder versions&q

[PATCH v3 08/41] drm/i915: convert put_page() to put_user_page*()

2019-08-07 Thread john . hubbard
From: John Hubbard For pages that were retained via get_user_pages*(), release those pages via the new put_user_page*() routines, instead of via put_page() or release_pages(). This is part a tree-wide conversion, as described in commit fc1d8e7cca2d ("mm: introduce put_user_page*(), placeh

[PATCH v3 26/41] futex: convert put_page() to put_user_page*()

2019-08-07 Thread john . hubbard
From: John Hubbard For pages that were retained via get_user_pages*(), release those pages via the new put_user_page*() routines, instead of via put_page() or release_pages(). This is part a tree-wide conversion, as described in commit fc1d8e7cca2d ("mm: introduce put_user_page*(), placeh

[PATCH v3 09/41] drm/radeon: convert put_page() to put_user_page*()

2019-08-07 Thread john . hubbard
From: John Hubbard For pages that were retained via get_user_pages*(), release those pages via the new put_user_page*() routines, instead of via put_page() or release_pages(). This is part a tree-wide conversion, as described in commit fc1d8e7cca2d ("mm: introduce put_user_page*(), placeh

[PATCH v3 37/41] security/tomoyo: convert put_page() to put_user_page*()

2019-08-07 Thread john . hubbard
From: John Hubbard For pages that were retained via get_user_pages*(), release those pages via the new put_user_page*() routines, instead of via put_page() or release_pages(). This is part a tree-wide conversion, as described in commit fc1d8e7cca2d ("mm: introduce put_user_page*(), placeh

[PATCH v3 02/41] drivers/gpu/drm/via: convert put_page() to put_user_page*()

2019-08-07 Thread john . hubbard
From: John Hubbard For pages that were retained via get_user_pages*(), release those pages via the new put_user_page*() routines, instead of via put_page() or release_pages(). This is part a tree-wide conversion, as described in commit fc1d8e7cca2d ("mm: introduce put_user_page*(), placeh

[PATCH v3 29/41] mm/memory.c: convert put_page() to put_user_page*()

2019-08-07 Thread john . hubbard
From: John Hubbard For pages that were retained via get_user_pages*(), release those pages via the new put_user_page*() routines, instead of via put_page() or release_pages(). This is part a tree-wide conversion, as described in commit fc1d8e7cca2d ("mm: introduce put_user_page*(), placeh

<    1   2   3   4   5   6   7   >