Re: [PATCH 04/25] mm: remove MEMORY_DEVICE_PUBLIC support

From: Ira Weiny
Date: Wed Jun 26 2019 - 13:14:51 EST


On Wed, Jun 26, 2019 at 09:00:47AM -0700, Dan Williams wrote:
> [ add Ira ]
>
> On Wed, Jun 26, 2019 at 5:27 AM Christoph Hellwig <hch@xxxxxx> wrote:
> >
> > The code hasn't been used since it was added to the tree, and doesn't
> > appear to actually be usable.
> >
> > Signed-off-by: Christoph Hellwig <hch@xxxxxx>
> > Reviewed-by: Jason Gunthorpe <jgg@xxxxxxxxxxxx>
> > Acked-by: Michal Hocko <mhocko@xxxxxxxx>
> [..]
> > diff --git a/mm/swap.c b/mm/swap.c
> > index 7ede3eddc12a..83107410d29f 100644
> > --- a/mm/swap.c
> > +++ b/mm/swap.c
> > @@ -740,17 +740,6 @@ void release_pages(struct page **pages, int nr)
> > if (is_huge_zero_page(page))
> > continue;
> >
> > - /* Device public page can not be huge page */
> > - if (is_device_public_page(page)) {
> > - if (locked_pgdat) {
> > - spin_unlock_irqrestore(&locked_pgdat->lru_lock,
> > - flags);
> > - locked_pgdat = NULL;
> > - }
> > - put_devmap_managed_page(page);
> > - continue;
> > - }
> > -
>
> This collides with Ira's bug fix [1]. The MEMORY_DEVICE_FSDAX case
> needs this to be converted to be independent of "public" pages.
> Perhaps it should be pulled out of -mm and incorporated in this
> series.
>
> [1]: https://lore.kernel.org/lkml/20190605214922.17684-1-ira.weiny@xxxxxxxxx/

Agreed and Andrew picked the first 2 versions of it, mmotm commits:

3eed114b5b6b mm-swap-fix-release_pages-when-releasing-devmap-pages-v2
9b7d8d0f572f mm/swap.c: fix release_pages() when releasing devmap pages

I don't see v3 but there were no objections...

Ira