On 2024/1/11 22:39, Matthew Wilcox wrote:
On Thu, Jan 11, 2024 at 02:37:41PM +0000, Matthew Wilcox wrote:
On Thu, Jan 11, 2024 at 07:12:32PM +0800, Kefeng Wang wrote:
Introduce a new pfn_swap_entry_to_folio(), it is similar to
pfn_swap_entry_to_page(), but return a folio, which allow us
to completely replace the struct page variables with struct
folio variables.
I have the exact same patch in my tree except I called it
pfn_swap_entry_folio(). I also noted:
Thanks to the compound_head() hidden inside PageLocked(), this saves a
call to compound_head() over calling page_folio(pfn_swap_entry_to_page())
Signed-off-by: Kefeng Wang <wangkefeng.wang@xxxxxxxxxx>
Reviewed-by: Matthew Wilcox (Oracle) <willy@xxxxxxxxxxxxx>
Oh, and I converted a couple of callers ...
migration_entry_wait_on_locked and change_huge_pmd. Those should
probably be added to this patch.
Thanks for your update, and all above conversion in your v3, and I check
more callers, eg, hugetlb_change_protection,break_ksm_pmd_entry could
be converted too, but we could send separate patch.