Re: [PATCH v7 01/14] mm: rename is_pinnable_pages to is_pinnable_longterm_pages

Andrew Morton
2022-07-02T04:25:56Z

On Thu, 30 Jun 2022 00:15:06 +0200 David Hildenbrand <david@redhat.com> wrote:

> On 30.06.22 00:08, Felix Kuehling wrote:
> > On 2022-06-29 03:33, David Hildenbrand wrote:
> >> On 29.06.22 05:54, Alex Sierra wrote:
> >>> is_pinnable_page() and folio_is_pinnable() were renamed to
> >>> is_longterm_pinnable_page() and folio_is_longterm_pinnable()
> >>> respectively. These functions are used in the FOLL_LONGTERM flag
> >>> context.
> >> Subject talks about "*_pages"
> >>
> >>
> >> Can you elaborate why the move from mm.h to memremap.h is justified?
> >
> > Patch 2 adds is_device_coherent_page in memremap.h and updates
> > is_longterm_pinnable_page to call is_device_coherent_page. memremap.h
> > cannot include mm.h because it is itself included by mm.h. So the choice
> > was to move is_longterm_pinnable_page to memremap.h, or move
> > is_device_coherent_page and all its dependencies to mm.h. The latter
> > would have been a bigger change.
>
> I really don't think something mm generic that compiles without
> ZONE_DEVICE belongs into memremap.h. Please find a cleaner way to get
> this done.

(without having bothered to look at the code...)

The solution is always to create a new purpose-specific header file.