[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAFgQCTtQL7Dub8csVn-EDs8EBtsSSjsRobJLnXrrosTDnZhj4w@mail.gmail.com>
Date: Mon, 2 Mar 2020 10:38:27 +0800
From: Pingfan Liu <kernelfans@...il.com>
To: Alexander Duyck <alexander.duyck@...il.com>
Cc: linux-mm <linux-mm@...ck.org>, Ira Weiny <ira.weiny@...el.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Mike Rapoport <rppt@...ux.ibm.com>,
Dan Williams <dan.j.williams@...el.com>,
Matthew Wilcox <willy@...radead.org>,
John Hubbard <jhubbard@...dia.com>,
"Aneesh Kumar K.V" <aneesh.kumar@...ux.ibm.com>,
Keith Busch <keith.busch@...el.com>,
Christoph Hellwig <hch@...radead.org>,
Shuah Khan <shuah@...nel.org>,
LKML <linux-kernel@...r.kernel.org>
Subject: Re: [PATCHv5 3/3] mm/gup_benchemark: add LONGTERM_BENCHMARK test in
gup fast path
On Fri, Feb 28, 2020 at 11:43 PM Alexander Duyck
<alexander.duyck@...il.com> wrote:
>
> On Fri, Feb 28, 2020 at 3:35 AM Pingfan Liu <kernelfans@...il.com> wrote:
> >
> > Introduce a GUP_LONGTERM_BENCHMARK ioctl to test longterm pin in gup fast
> > path.
>
> The title of the patch has a typo in it. There is only one 'e' in "benchmark".
Yes, it should be GUP_FAST_LONGTERM_BENCHMARK
>
> > Signed-off-by: Pingfan Liu <kernelfans@...il.com>
> > Cc: Ira Weiny <ira.weiny@...el.com>
> > Cc: Andrew Morton <akpm@...ux-foundation.org>
> > Cc: Mike Rapoport <rppt@...ux.ibm.com>
> > Cc: Dan Williams <dan.j.williams@...el.com>
> > Cc: Matthew Wilcox <willy@...radead.org>
> > Cc: John Hubbard <jhubbard@...dia.com>
> > Cc: "Aneesh Kumar K.V" <aneesh.kumar@...ux.ibm.com>
> > Cc: Keith Busch <keith.busch@...el.com>
> > Cc: Christoph Hellwig <hch@...radead.org>
> > Cc: Shuah Khan <shuah@...nel.org>
> > To: linux-mm@...ck.org
> > Cc: linux-kernel@...r.kernel.org
> > ---
> > mm/gup_benchmark.c | 7 +++++++
> > tools/testing/selftests/vm/gup_benchmark.c | 6 +++++-
> > 2 files changed, 12 insertions(+), 1 deletion(-)
> >
> > diff --git a/mm/gup_benchmark.c b/mm/gup_benchmark.c
> > index 8dba38e..bf61e7a 100644
> > --- a/mm/gup_benchmark.c
> > +++ b/mm/gup_benchmark.c
> > @@ -8,6 +8,7 @@
> > #define GUP_FAST_BENCHMARK _IOWR('g', 1, struct gup_benchmark)
> > #define GUP_LONGTERM_BENCHMARK _IOWR('g', 2, struct gup_benchmark)
> > #define GUP_BENCHMARK _IOWR('g', 3, struct gup_benchmark)
> > +#define GUP_FAST_LONGTERM_BENCHMARK _IOWR('g', 4, struct gup_benchmark)
> >
> > struct gup_benchmark {
> > __u64 get_delta_usec;
> > @@ -57,6 +58,11 @@ static int __gup_benchmark_ioctl(unsigned int cmd,
> > nr = get_user_pages_fast(addr, nr, gup->flags,
> > pages + i);
> > break;
> > + case GUP_FAST_LONGTERM_BENCHMARK:
> > + nr = get_user_pages_fast(addr, nr,
> > + (gup->flags & 1) | FOLL_LONGTERM,
> > + pages + i);
> > + break;
>
> If I am not mistaken the mask of gup->flags is redundant. It is
> already masked by FOLL_WRITE several lines before this switch
> statement.
Yes, you are right. Thanks for your kind review.
Regards,
Pingfan
Powered by blists - more mailing lists