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

2019-08-06 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 23/41] fs/exec.c: convert put_page() to put_user_page*()

2019-08-06 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-06 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-06 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-06 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-06 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 16/41] oradax: convert put_page() to put_user_page*()

2019-08-06 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 24/41] orangefs: convert put_page() to put_user_page*()

2019-08-06 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 39/41] mm/mlock.c: convert put_page() to put_user_page*()

2019-08-06 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-06 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 22/41] xen: convert put_page() to put_user_page*()

2019-08-06 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 15/41] rapidio: convert put_page() to put_user_page*()

2019-08-06 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-06 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 38/41] powerpc: convert put_page() to put_user_page*()

2019-08-06 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-06 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 19/41] vfio: convert put_page() to put_user_page*()

2019-08-06 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 20/41] fbdev/pvr2fb: convert put_page() to put_user_page*()

2019-08-06 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-06 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 17/41] staging/vc04_services: convert put_page() to put_user_page*()

2019-08-06 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 33/41] fs/nfs: convert put_page() to put_user_page*()

2019-08-06 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 28/41] mm/gup_benchmark.c: convert put_page() to put_user_page*()

2019-08-06 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 25/41] uprobes: convert put_page() to put_user_page*()

2019-08-06 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 40/41] mm/mempolicy.c: convert put_page() to put_user_page*()

2019-08-06 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-06 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 31/41] mm/process_vm_access.c: convert put_page() to put_user_page*()

2019-08-06 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 36/41] fs/binfmt_elf: convert put_page() to put_user_page*()

2019-08-06 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 v3 35/41] kernel/events/core.c: convert put_page() to put_user_page*()

2019-08-06 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 v3 00/39] put_user_pages(): miscellaneous call sites

2019-08-06 Thread John Hubbard
On 8/6/19 6:32 PM, john.hubb...@gmail.com wrote: > From: John Hubbard > ... > > John Hubbard (38): > mm/gup: add make_dirty arg to put_user_pages_dirty_lock() ... > 54 files changed, 191 insertions(+), 323 deletions(-) > ahem, yes, apparently this is what happens if I ad

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

2019-08-07 Thread John Hubbard
On 8/7/19 7:36 PM, Ira Weiny wrote: On Wed, Aug 07, 2019 at 10:46:49AM +0200, Michal Hocko wrote: On Wed 07-08-19 10:37:26, Jan Kara wrote: On Fri 02-08-19 12:14:09, John Hubbard wrote: On 8/2/19 7:52 AM, Jan Kara wrote: On Fri 02-08-19 07:24:43, Matthew Wilcox wrote: On Fri, Aug 02, 2019

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

2019-08-08 Thread John Hubbard
On 8/8/19 9:25 AM, Weiny, Ira wrote: >> >> On 8/7/19 7:36 PM, Ira Weiny wrote: >>> On Wed, Aug 07, 2019 at 10:46:49AM +0200, Michal Hocko wrote: >>>> On Wed 07-08-19 10:37:26, Jan Kara wrote: >>>>> On Fri 02-08-19 12:14:09, John Hubbard wrote: >

Re: [PATCH v3 38/41] powerpc: convert put_page() to put_user_page*()

2019-08-08 Thread John Hubbard
think you need that initialisation do you? > Nope, it can go. Fixed locally, thanks. Did you get a chance to look at enough of the other bits to feel comfortable with the patch, overall? thanks, -- John Hubbard NVIDIA ___ devel mailing l

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

2019-08-29 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/gup: Use put_user_page*() instead of put_page*()

2019-07-14 Thread John Hubbard
f commits (iov_iter and related) that conflict with the latest linux.git, c) has some bugs in the bio area, that I'm fixing, so I don't trust that's it's safely runnable, for a few more days. One note below, for the future: > > This is a bunch of trivial c

Re: [PATCH] mm/gup: Use put_user_page*() instead of put_page*()

2019-07-15 Thread John Hubbard
On 7/14/19 11:56 PM, Bharath Vedartham wrote: > On Sun, Jul 14, 2019 at 04:33:42PM -0700, John Hubbard wrote: >> On 7/14/19 12:08 PM, Bharath Vedartham wrote: [...] >> 1. Pull down https://github.com/johnhubbard/linux/commits/gup_dma_core >> and find missing conversions: lo

Re: [PATCH] staging: kpc2000: Convert put_page() to put_user_page*()

2019-07-15 Thread John Hubbard
Cc: Matt Sickler > Cc: Greg Kroah-Hartman > Cc: Jérôme Glisse > Cc: Ira Weiny > Cc: John Hubbard > Cc: linux...@kvack.org > Cc: de...@driverdev.osuosl.org > > Signed-off-by: Bharath Vedartham > --- > drivers/staging/kpc2000/kpc_dma/fileops.c | 8 ++-- >

[PATCH 0/1] staging: kpc2000: whitespace and line length cleanup

2019-07-15 Thread john . hubbard
From: John Hubbard Hi everyone, This is an easy, drive-by cleanup that I did while reviewing Bharath's changes to convert over to put_user_page(). It should make the code less obviously non-conforming, and therefore help future reviews and cleanups. This is on top of latest linux.git, c

[PATCH] staging: kpc2000: whitespace and line length cleanup

2019-07-15 Thread john . hubbard
From: John Hubbard This commit was created by running indent(1): `indent -linux` ...and then applying some manual corrections and cleanup afterward, to keep it sane. No functional changes were made. In addition to whitespace changes, some strings were split, but not strings that were

Re: [PATCH] staging: kpc2000: Convert put_page() to put_user_page*()

2019-07-15 Thread John Hubbard
for (i = 0 ; i < acd->page_count ; i++) { - put_page(acd->user_pages[i]); - } + put_user_pages_dirty(&acd->user_pages[i], acd->page_count); sg_free_table(&acd->sgt); (Also, Matt, I failed to Cc: you on a semi-related cleanup that I just sent out for this driver, as long as I have your attention: https://lore.kernel.org/r/20190715212123.432-1-jhubb...@nvidia.com ) thanks, -- John Hubbard NVIDIA ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Re: [PATCH] staging: kpc2000: Convert put_page() to put_user_page*()

2019-07-15 Thread John Hubbard
On 7/15/19 3:01 PM, John Hubbard wrote: > On 7/15/19 2:47 PM, Matt Sickler wrote: ... > I agree: the PageReserved check looks unnecessary here, from my > outside-the-kpc_2000-team > perspective, anyway. Assuming that your analysis above is correct, you could > collapse that >

Re: [PATCH] staging: kpc2000: whitespace and line length cleanup

2019-07-15 Thread John Hubbard
On 7/15/19 3:21 PM, Joe Perches wrote: > On Mon, 2019-07-15 at 14:21 -0700, john.hubb...@gmail.com wrote: >> From: John Hubbard >> >> This commit was created by running indent(1): >> `indent -linux` >> >> ...and then applying some manual corrections an

Re: [PATCH] staging: kpc2000: whitespace and line length cleanup

2019-07-16 Thread John Hubbard
On 7/16/19 1:36 AM, Greg Kroah-Hartman wrote: > On Mon, Jul 15, 2019 at 02:21:23PM -0700, john.hubb...@gmail.com wrote: >> From: John Hubbard ... >> drivers/staging/kpc2000/kpc2000_i2c.c | 189 +++-- >> drivers/staging/kpc2000/kpc200

Re: [PATCH v3] staging: kpc2000: Convert put_page to put_user_page*()

2019-07-19 Thread John Hubbard
On 7/19/19 1:59 PM, Matt Sickler wrote: >> From: Bharath Vedartham >> Changes since v2 >>- Added back PageResevered check as suggested by John Hubbard. >> >> The PageReserved check needs a closer look and is not worth messing >> around with for

Re: [PATCH v3] staging: kpc2000: Convert put_page to put_user_page*()

2019-07-19 Thread John Hubbard
put_user_page*(), placeholder versions"). For the change itself, you will need to rebase it onto the latest linux.git, as it doesn't quite apply there. Testing is good if we can get it, but as far as I can tell this is correct, so you can also add: Reviewed-by: John Hubbard than

Re: [RFC] mm/gup.c: Updated return value of {get|pin}_user_pages_fast()

2020-05-05 Thread John Hubbard
len))) return -EFAULT; ...although I might be missing some other things that need a similar change, so you should look carefully for yourself. Once that change (and anything I missed) is in place, then you could go ahead and stop handling ret==0 cases at the call sites. thanks, --

Re: [RFC] mm/gup.c: Updated return value of {get|pin}_user_pages_fast()

2020-05-05 Thread John Hubbard
On 2020-05-05 13:36, Souptick Joarder wrote: On Wed, May 6, 2020 at 1:08 AM John Hubbard wrote: On 2020-05-05 12:14, Souptick Joarder wrote: Currently {get|pin}_user_pages_fast() have 3 return value 0, -errno and no of pinned pages. The only case where these two functions will return 0, is

Re: [RFC] mm/gup.c: Updated return value of {get|pin}_user_pages_fast()

2020-05-07 Thread John Hubbard
o. In fact, on the contrary: there are call site where returning 0 after being requested to pin zero pages, helps simplify the code. For example, if they're just doing math such as "if(nr_expected != nr_pages_pinned) ...". This looks like a complete dead end, sorry. thank

Re: [PATCH] pci-hyperv: Use only 16 bit integer for PCI domain

2017-04-24 Thread John Hubbard
update to fix it, but there will be a window of time with some breakage there.) [1] http://www.uefi.org/sites/default/files/resources/ACPI_6_1.pdf , seciton 6.5.6, page 397 thanks, -- John Hubbard NVIDIA Thanks, - Haiyang ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Re: [PATCH] pci-hyperv: Use only 16 bit integer for PCI domain

2017-04-25 Thread John Hubbard
On Tue, 25 Apr 2017, Christoph Hellwig wrote: > Hi John, > > please fix your quoting of the previous mails, thanks! Shoot, sorry about any quoting issues. I'm sufficiently new to conversing on these lists that I'm not even sure which mistake I made. > > > What ACPI defines does not matter at

Re: [PATCH] staging: gasket: Convert get_user_pages*() --> pin_user_pages*()

2020-05-29 Thread John Hubbard
for quite a few patches so far, but that sure doesn't mean it's perfect! :) Maybe adding the words that Dan suggests, above, will suffice? Here: >>> "In 2019 we introduced pin_user_pages() and now we are converting >>> get_user_pages() to the new API as appropriate&

Re: [PATCH] staging: gasket: Convert get_user_pages*() --> pin_user_pages*()

2020-05-29 Thread John Hubbard
890 return internal_get_user_pages_fast(start, nr_pages, gup_flags, pages); 2891 } 2892 EXPORT_SYMBOL_GPL(pin_user_pages_fast); regards, dan carpenter thanks, -- John Hubbard NVIDIA ___ devel mailing list de...@linuxdriverproje

Re: [PATCH] staging: gasket: Convert get_user_pages*() --> pin_user_pages*()

2020-05-29 Thread John Hubbard
t of view. It would be a "nice to have", though, if anyone were able to do a performance comparison on the gasket driver for this patch, and/or basic runtime verification, since I'm sure it's a specialized setup. thanks, -- John Hubbard NVIDIA

Re: [PATCH] staging: kpc2000: kpc_dma: Convert get_user_pages() --> pin_user_pages()

2020-05-31 Thread John Hubbard
oing set_page_dirty_lock(). See below. [1] Documentation/core-api/pin_user_pages.rst [2] "Explicit pinning of user-space pages": https://lwn.net/Articles/807108/ Signed-off-by: Souptick Joarder Cc: John Hubbard --- Hi, I'm compile tested this, but unable to run-tim

Re: [PATCH] staging: kpc2000: kpc_dma: Convert get_user_pages() --> pin_user_pages()

2020-06-08 Thread John Hubbard
On 2020-06-08 12:01, Souptick Joarder wrote: On Mon, Jun 1, 2020 at 7:15 AM John Hubbard wrote: On 2020-05-31 10:51, Souptick Joarder wrote: In 2019, we introduced pin_user_pages*() and now we are converting get_user_pages*() to the new API as appropriate. [1] & [2] could be referred

Re: [PATCH] staging: kpc2000: kpc_dma: Convert get_user_pages() --> pin_user_pages()

2020-06-08 Thread John Hubbard
On 2020-06-08 12:16, Dan Carpenter wrote: On Mon, Jun 08, 2020 at 12:05:57PM -0700, John Hubbard wrote: On 2020-06-08 12:01, Souptick Joarder wrote: On Mon, Jun 1, 2020 at 7:15 AM John Hubbard wrote: On 2020-05-31 10:51, Souptick Joarder wrote: In 2019, we introduced pin_user_pages*() and

<    1   2