Re: [PATCH 12/17] mm: optimize dev_pagemap reference counting around get_dev_pagemap

From: Dan Williams
Date: Sun Dec 17 2017 - 12:29:08 EST


On Fri, Dec 15, 2017 at 6:09 AM, Christoph Hellwig <hch@xxxxxx> 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 <hch@xxxxxx>
> Reviewed-by: Logan Gunthorpe <logang@xxxxxxxxxxxx>
> ---
> 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.williams@xxxxxxxxx>