Messages in this thread | | | Date | Fri, 5 Apr 2024 11:25:43 +0200 | Subject | Re: [PATCH v6 1/6] mm: swap: Remove CLUSTER_FLAG_HUGE from swap_cluster_info:flags | From | David Hildenbrand <> |
| |
On 03.04.24 13:40, Ryan Roberts wrote: > As preparation for supporting small-sized THP in the swap-out path, > without first needing to split to order-0, Remove the CLUSTER_FLAG_HUGE, > which, when present, always implies PMD-sized THP, which is the same as > the cluster size. > > The only use of the flag was to determine whether a swap entry refers to > a single page or a PMD-sized THP in swap_page_trans_huge_swapped(). > Instead of relying on the flag, we now pass in nr_pages, which > originates from the folio's number of pages. This allows the logic to > work for folios of any order. > > The one snag is that one of the swap_page_trans_huge_swapped() call > sites does not have the folio. But it was only being called there to > shortcut a call __try_to_reclaim_swap() in some cases. > __try_to_reclaim_swap() gets the folio and (via some other functions) > calls swap_page_trans_huge_swapped(). So I've removed the problematic > call site and believe the new logic should be functionally equivalent. > > That said, removing the fast path means that we will take a reference > and trylock a large folio much more often, which we would like to avoid. > The next patch will solve this. > > Removing CLUSTER_FLAG_HUGE also means we can remove split_swap_cluster() > which used to be called during folio splitting, since > split_swap_cluster()'s only job was to remove the flag. > > Reviewed-by: "Huang, Ying" <ying.huang@intel.com> > Signed-off-by: Ryan Roberts <ryan.roberts@arm.com> > ---
[started to review v5, then saw v6]
Acked-by: David Hildenbrand <david@redhat.com>
-- Cheers,
David / dhildenb
| |