[Nouveau] [PATCH 7/8] mm: remove the extra ZONE_DEVICE struct page refcount

Dan Williams dan.j.williams at intel.com
Wed Feb 9 03:30:11 UTC 2022


On Sun, Feb 6, 2022 at 10:33 PM Christoph Hellwig <hch at lst.de> wrote:
[..]
> @@ -500,28 +482,27 @@ void free_devmap_managed_page(struct page *page)
>          */
>         page->mapping = NULL;
>         page->pgmap->ops->page_free(page);
> +
> +       /*
> +        * Reset the page count to 1 to prepare for handing out the page again.
> +        */
> +       set_page_count(page, 1);

Interesting. I had expected that to really fix the refcount problem
that fs/dax.c would need to start taking real page references as pages
were added to a mapping, just like page cache.

This looks ok to me, and passes my tests. So given I'm still working
my way back to fixing the references properly I'm ok for this hack to
replace the more broken hack that is there presently.

Reviewed-by: Dan Williams <dan.j.williams at intel.com>


More information about the Nouveau mailing list