[Nouveau] [PATCH v2] mm/hmm: make device private reference counts zero based
Dan Williams
dan.j.williams at intel.com
Mon Oct 12 21:14:07 UTC 2020
On Mon, Oct 12, 2020 at 10:46 AM Ralph Campbell <rcampbell at nvidia.com> wrote:
>
> ZONE_DEVICE struct pages have an extra reference count that complicates the
> code for put_page() and several places in the kernel that need to check the
> reference count to see that a page is not being used (gup, compaction,
> migration, etc.). Clean up the code so the reference count doesn't need to
> be treated specially for device private pages, leaving DAX as still being
> a special case.
Please no half-step to removing the special casing...
[..]
> +void free_zone_device_page(struct page *page)
> +{
> + if (!is_device_private_page(page))
> return;
That seems too subtle to be acceptable to me. All ZONE_DEVICE pages
need to have the same relationship with respect to idle-ness and the
page reference count.
More information about the Nouveau
mailing list