Re: [PATCHv3 6/6] mm/gup: Cache dev_pagemap while pinning pages

From: Keith Busch
Date: Tue Oct 02 2018 - 12:03:43 EST


On Tue, Oct 02, 2018 at 08:49:39AM -0700, Dave Hansen wrote:
> On 10/02/2018 04:26 AM, Kirill A. Shutemov wrote:
> >> + page = follow_page_mask(vma, address, foll_flags, &ctx);
> >> + if (ctx.pgmap)
> >> + put_dev_pagemap(ctx.pgmap);
> >> + return page;
> >> }
> > Do we still want to keep the function as inline? I don't think so.
> > Let's move it into mm/gup.c and make struct follow_page_context private to
> > the file.
>
> Yeah, and let's have a put_follow_page_context() that does the
> put_dev_pagemap() rather than spreading that if() to each call site.

Thanks for all the feedback. I will make a new version, but with the
gup_benchmark part split into an independent set since it is logically
separate from the final patch.