Messages in this thread | | | Subject | Re: [RFC PATCH v3 0/2] mm: remove extra ZONE_DEVICE struct page refcount | From | Ralph Campbell <> | Date | Thu, 13 May 2021 10:35:39 -0700 |
| |
On 5/13/21 6:15 AM, Matthew Wilcox wrote: > On Thu, Oct 01, 2020 at 11:17:13AM -0700, Ralph Campbell wrote: >> This is still an RFC because after looking at the pmem/dax code some >> more, I realized that the ZONE_DEVICE struct pages are being inserted >> into the process' page tables with vmf_insert_mixed() and a zero >> refcount on the ZONE_DEVICE struct page. This is sort of OK because >> insert_pfn() increments the reference count on the pgmap which is what >> prevents memunmap_pages() from freeing the struct pages and it doesn't >> check for a non-zero struct page reference count. >> But, any calls to get_page() will hit the VM_BUG_ON_PAGE() that >> checks for a reference count == 0. > > This seems to have gone quiet. What needs to happen to resurrect this? > The main thing I need is time. I have been tied up with other commitments, there has been a lot of changes going on in FS/DAX and the page cache, and FS/DAX doesn't use the page reference count to indicate the page is "free" but rather that it is "idle" so I need a lot of time to really understand why FS/DAX isn't just any FS on top of a DAX block device.
I too wish this was easier to fix.
| |