Re: [PATCH RFC 12/13] mm/huge_memory: lift order-0 restriction for swapcache split
"Zi Yan" <[email protected]>
| Newsgroups | gmane.linux.kernel,gmane.linux.kernel.mm |
|---|---|
| Message-ID | <[email protected]> |
On Fri Aug 7, 2026 at 5:17 PM EDT, Kairui Song via B4 Relay wrote: > From: Kairui Song <[email protected]> > > The restriction that swapcache folios can only be uniformly split to > order 0 dates back to when the swap cache was managed via address_space > mapping (swap_address_space). The old split loop only created order-0 > sub-folios with a fixed stride, so non-uniform split and non-zero order > were rightfully blocked. > > After the swap cache switched to swap table under a cluster lock, > __swap_cache_replace_folio already gained the ability to replace any > number of entries for any sub-folio size in one cluster, and the old > swap_address_space locking and limit was removed. The restriction > became obsolete but persisted through multiple refactorings. > > Drop it now: swapcache folios can be split to any supported order with > either uniform or non-uniform split, except order-1 which is not > supported for anon folios. Mappingless swap cache folios could be either > anon or shmem, so for now we just simply forbid order-1 for all swapcache. > > Signed-off-by: Kairui Song <[email protected]> > --- > mm/huge_memory.c | 32 +++++++++++++------------------- > 1 file changed, 13 insertions(+), 19 deletions(-) > LGTM. BTW, __split_huge_page_to_list_to_order()'s comment also needs an update about splitting to order-1 folios. Acked-by: Zi Yan <[email protected]> -- Best Regards, Yan, Zi