Messages in this thread | | | From | Dan Williams <> | Date | Mon, 12 Oct 2020 14:14:07 -0700 | Subject | Re: [PATCH v2] mm/hmm: make device private reference counts zero based |
| |
On Mon, Oct 12, 2020 at 10:46 AM Ralph Campbell <rcampbell@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.
| |