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

From: Souptick Joarder
Date: Fri May 29 2020 - 02:27:25 EST


On Fri, May 29, 2020 at 11:46 AM Souptick Joarder <jrdr.linux@xxxxxxxxx> wrote:
>
> On Thu, May 28, 2020 at 4:34 PM Dan Carpenter <dan.carpenter@xxxxxxxxxx> wrote:
> >
> > On Thu, May 28, 2020 at 02:32:42AM +0530, Souptick Joarder wrote:
> > > This code was using get_user_pages_fast(), in a "Case 2" scenario
> > > (DMA/RDMA), using the categorization from [1]. That means that it's
> > > time to convert the get_user_pages_fast() + put_page() calls to
> > > pin_user_pages_fast() + unpin_user_page() calls.
> >
> > You are saying that the page is used for DIO and not DMA, but it sure
> > looks to me like it is used for DMA.
>
> No, I was referring to "Case 2" scenario in change log which means it is
> used for DMA, not DIO.
>
> >
> > 503 /* Map the page into DMA space. */
> > 504 ptes[i].dma_addr =
> > 505 dma_map_page(pg_tbl->device, page, 0, PAGE_SIZE,
> > 506 DMA_BIDIRECTIONAL);
> >
> > To be honest, that starting paragraph was confusing. At first I thought
> > you were saying gasket was an RDMA driver. :P I shouldn't have to read
> > a different document to understand the commit message. It should be
> > summarized enough and the other documentation is supplemental.
> >
> > "In 2019 we introduced pin_user_pages() and now we are converting
> > get_user_pages() to the new API as appropriate".
>
> As all other similar conversion have similar change logs, so I was trying
> to maintain the same. John might have a different opinion on this.

For example, I was referring to few recent similar commits for change logs.

http://lkml.kernel.org/r/20200519002124.2025955-5-jhubbard@xxxxxxxxxx
https://lore.kernel.org/r/20200518015237.1568940-1-jhubbard@xxxxxxxxxx


>
> John, Any further opinion ??
>
> >
> > >
> > > There is some helpful background in [2]: basically, this is a small
> > > part of fixing a long-standing disconnect between pinning pages, and
> > > file systems' use of those pages.
> >
> > What is the impact of this patch on runtime?
>
> I don't have the hardware to validate the runtime impact and will
> wait if someone is going to validate it for runtime impact.
>
> >
> > >
> > > [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 <jrdr.linux@xxxxxxxxx>
> > > Cc: John Hubbard <jhubbard@xxxxxxxxxx>
> > >
> > > Hi,
> > >
> > > I'm compile tested this, but unable to run-time test, so any testing
> > > help is much appriciated.
> > > ---
> >
> > The "Hi" part of patch should have been under the "---" cut off line so
> > this will definitely need to be resent.
>
> Sorry about it.
> Will wait for feedback from John before resend it :)
>
> >
> > regards,
> > dan carpenter
> >