On Fri, Dec 15, 2017 at 6:09 AM, Christoph Hellwig <h...@lst.de> wrote: > Change the calling convention so that get_dev_pagemap always consumes the > previous reference instead of doing this using an explicit earlier call to > put_dev_pagemap in the callers. > > The callers will still need to put the final reference after finishing the > loop over the pages. > > Signed-off-by: Christoph Hellwig <h...@lst.de> > Reviewed-by: Logan Gunthorpe <log...@deltatee.com> > --- > kernel/memremap.c | 17 +++++++++-------- > mm/gup.c | 7 +++++-- > 2 files changed, 14 insertions(+), 10 deletions(-) > > diff --git a/kernel/memremap.c b/kernel/memremap.c > index 43d94db97ff4..26764085785d 100644 > --- a/kernel/memremap.c > +++ b/kernel/memremap.c > @@ -506,22 +506,23 @@ struct vmem_altmap *to_vmem_altmap(unsigned long > memmap_start) > * @pfn: page frame number to lookup page_map > * @pgmap: optional known pgmap that already has a reference > * > - * @pgmap allows the overhead of a lookup to be bypassed when @pfn lands in > the > - * same mapping. > + * If @pgmap is non-NULL and covers @pfn it will be returned as-is. If > @pgmap > + * is non-NULL but does not cover @pfn the reference to it while be released.
s/while/will/ Other than that you can add: Reviewed-by: Dan Williams <dan.j.willi...@intel.com>