search for: dax_layout_busy_page

Displaying 3 results from an estimated 3 matches for "dax_layout_busy_page".

2020 Sep 25
1
[PATCH 1/2] ext4/xfs: add page refcount helper
...busy_page(void *entry) for_each_mapped_pfn(entry, pfn) { struct page *page = pfn_to_page(pfn); - if (page_ref_count(page) > 1) + if (!dax_layout_is_idle_page(page)) return page; } return NULL; @@ -560,11 +560,11 @@ static void *grab_mapping_entry(struct xa_state *xas, /** * dax_layout_busy_page - find first pinned page in @mapping - * @mapping: address space to scan for a page with ref count > 1 + * @mapping: address space to scan for a page with ref count > 0 * * DAX requires ZONE_DEVICE mapped pages. These pages are never * 'onlined' to the page allocator so they are...
2020 Sep 25
0
[PATCH 1/2] ext4/xfs: add page refcount helper
...> - if (page_ref_count(page) > 1) > + if (!dax_layout_is_idle_page(page)) > return page; > } > return NULL; > @@ -560,11 +560,11 @@ static void *grab_mapping_entry(struct xa_state *xas, > > /** > * dax_layout_busy_page - find first pinned page in @mapping > - * @mapping: address space to scan for a page with ref count > 1 > + * @mapping: address space to scan for a page with ref count > 0 > * > * DAX requires ZONE_DEVICE mapped pages. These pages are never > * 'onlined' to the p...
2020 Sep 25
6
[RFC PATCH v2 0/2] mm: remove extra ZONE_DEVICE struct page refcount
Matthew Wilcox, Ira Weiny, and others have complained that ZONE_DEVICE struct page reference counting is ugly because they are "free" when the reference count is one instead of zero. This leads to explicit checks for ZONE_DEVICE pages in places like put_page(), GUP, THP splitting, and page migration which have to adjust the expected reference count when determining if the page is