From: Kairui Song <ryncsn@gmail.com>
To: "David Hildenbrand (Arm)" <david@kernel.org>
Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org,
Andrew Morton <akpm@linux-foundation.org>,
Lorenzo Stoakes <ljs@kernel.org>, Zi Yan <ziy@nvidia.com>,
Baolin Wang <baolin.wang@linux.alibaba.com>,
"Liam R. Howlett" <liam@infradead.org>,
Nico Pache <nico.pache@linux.dev>,
Ryan Roberts <ryan.roberts@arm.com>, Dev Jain <dev.jain@arm.com>,
Lance Yang <lance.yang@linux.dev>,
Usama Arif <usama.arif@linux.dev>,
Vlastimil Babka <vbabka@kernel.org>,
Mike Rapoport <rppt@kernel.org>,
Suren Baghdasaryan <surenb@google.com>,
Michal Hocko <mhocko@suse.com>, Chris Li <chrisl@kernel.org>,
Kemeng Shi <shikemeng@huaweicloud.com>,
Nhat Pham <nphamcs@gmail.com>, Baoquan He <baoquan.he@linux.dev>,
Barry Song <baohua@kernel.org>,
Youngjun Park <youngjun.park@lge.com>,
Shivam Kalra <shivamkalra98@zohomail.in>
Subject: Re: [PATCH v3 15/18] mm/huge_memory: lift order-0 restriction for swapcache split
Date: Sun, 30 Aug 2026 21:19:32 +0800 [thread overview]
Message-ID: <apQs7U5eveKKtPxX@KASONG-MC4> (raw)
In-Reply-To: <79aaca61-4e4d-4f1c-9492-41b00bf6ff04@kernel.org>
On Thu, Aug 27, 2026 at 10:22:56PM +0800, David Hildenbrand (Arm) wrote:
> On 8/27/26 19:48, Kairui Song wrote:
> > On Fri, Aug 28, 2026 at 12:51 AM David Hildenbrand (Arm)
> > <david@kernel.org> wrote:
> >>
> >> On 8/20/26 20:55, Kairui Song via B4 Relay wrote:
> >>> From: Kairui Song <kasong@tencent.com>
> >>>
> >>> 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.
> >>>
> >>> Acked-by: Zi Yan <ziy@nvidia.com>
> >>> Signed-off-by: Kairui Song <kasong@tencent.com>
> >>> ---
> >>
> >> In contrast to the other cleanup patches, this patch changes behavior.
> >>
> >> I would suggest to send all cleanups first, and send this out separately, such
> >> that it gets proper attention and doesn't get buried in a sequence of
> >> harmlessly-looking cleanups :)
> >
> > No problem, send this later then :)
>
> On second thought, the
>
> "mm/huge_memory: allow splitting mappingless swap cache folios"
>
> is already such a change. And I guess only having both these behavior-changing
> things separated from the cleanups might be harder, right?
It seems actually not hard to drop these two, and keep mostly of the cleanup,
will send a V4 as pure cleanup and tiny fixes. And without these two change
it actually looks cleaner, and shorter to review. Swap cache support can done
seperately later.
next prev parent reply other threads:[~2026-08-30 13:19 UTC|newest]
Thread overview: 76+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-20 18:55 [PATCH v3 00/18] mm/huge_memory: clean up folio split and lift swapcache split limits Kairui Song via B4 Relay
2026-08-20 18:55 ` [PATCH v3 01/18] mm/swap: fix off-by-one in swap cache replace sanity check Kairui Song via B4 Relay
2026-08-23 8:53 ` Barry Song
2026-08-27 14:13 ` Kiryl Shutsemau
2026-08-27 15:57 ` David Hildenbrand (Arm)
2026-08-20 18:55 ` [PATCH v3 02/18] mm/huge_memory: fix rejection of swap cache folios with a mapping Kairui Song via B4 Relay
2026-08-27 8:46 ` Barry Song
2026-08-27 9:31 ` Kairui Song
2026-08-27 14:33 ` Kiryl Shutsemau
2026-08-27 15:58 ` David Hildenbrand (Arm)
2026-08-27 14:36 ` Kiryl Shutsemau
2026-08-27 16:01 ` David Hildenbrand (Arm)
2026-08-27 16:00 ` David Hildenbrand (Arm)
2026-08-27 17:02 ` Kiryl Shutsemau
2026-08-27 17:11 ` David Hildenbrand (Arm)
2026-08-27 17:07 ` Kairui Song
2026-08-20 18:55 ` [PATCH v3 03/18] mm/huge_memory: invert folio_ref_freeze() check to reduce indentation Kairui Song via B4 Relay
2026-08-27 9:05 ` Barry Song
2026-08-27 14:39 ` Kiryl Shutsemau
2026-08-27 16:02 ` David Hildenbrand (Arm)
2026-08-20 18:55 ` [PATCH v3 04/18] mm/huge_memory: split the routine for splitting anon and file folio Kairui Song via B4 Relay
2026-08-26 1:31 ` Zi Yan
2026-08-27 14:58 ` Kiryl Shutsemau
2026-08-27 17:19 ` Kairui Song
2026-08-27 16:19 ` David Hildenbrand (Arm)
2026-08-27 17:17 ` Kairui Song
2026-08-27 19:05 ` David Hildenbrand (Arm)
2026-08-20 18:55 ` [PATCH v3 05/18] mm/huge_memory: rename __split_unmapped_folio() to __split_frozen_folio() Kairui Song via B4 Relay
2026-08-27 15:06 ` Kiryl Shutsemau
2026-08-27 16:22 ` David Hildenbrand (Arm)
2026-08-27 17:21 ` Kairui Song
2026-08-20 18:55 ` [PATCH v3 06/18] mm/huge_memory: consolidate irq and locking for folio split Kairui Song via B4 Relay
2026-08-27 15:15 ` Kiryl Shutsemau
2026-08-27 16:24 ` David Hildenbrand (Arm)
2026-08-20 18:55 ` [PATCH v3 07/18] mm/huge_memory: move EOF trimming into the file split helper Kairui Song via B4 Relay
2026-08-27 16:25 ` David Hildenbrand (Arm)
2026-08-20 18:55 ` [PATCH v3 08/18] mm/huge_memory: move unmap and remap into the split helpers Kairui Song via B4 Relay
2026-08-27 16:32 ` David Hildenbrand (Arm)
2026-08-27 17:35 ` Kairui Song
2026-08-27 19:09 ` David Hildenbrand (Arm)
2026-08-20 18:55 ` [PATCH v3 09/18] mm/huge_memory: move anon_vma and filemap management into " Kairui Song via B4 Relay
2026-08-27 16:36 ` David Hildenbrand (Arm)
2026-08-27 17:37 ` Kairui Song
2026-08-30 15:23 ` Kairui Song
2026-08-20 18:55 ` [PATCH v3 10/18] mm/huge_memory: move memcg switch into the file split helper Kairui Song via B4 Relay
2026-08-27 16:37 ` David Hildenbrand (Arm)
2026-08-20 18:55 ` [PATCH v3 11/18] mm/huge_memory: allow splitting mappingless swap cache folios Kairui Song via B4 Relay
2026-08-26 1:55 ` Zi Yan
2026-08-27 16:41 ` David Hildenbrand (Arm)
2026-08-27 17:41 ` Kairui Song
2026-08-27 19:16 ` David Hildenbrand (Arm)
2026-08-27 19:29 ` David Hildenbrand (Arm)
2026-08-20 18:55 ` [PATCH v3 12/18] mm/huge_memory: add kerneldoc for the split helpers Kairui Song via B4 Relay
2026-08-26 1:57 ` Zi Yan
2026-08-27 16:45 ` David Hildenbrand (Arm)
2026-08-27 17:43 ` Kairui Song
2026-08-20 18:55 ` [PATCH v3 13/18] mm/huge_memory: drop the unused do_lru argument of the file split helper Kairui Song via B4 Relay
2026-08-26 1:57 ` Zi Yan
2026-08-27 16:45 ` David Hildenbrand (Arm)
2026-08-20 18:55 ` [PATCH v3 14/18] mm/huge_memory: clean up after-split folio freeing in __folio_split Kairui Song via B4 Relay
2026-08-27 16:48 ` David Hildenbrand (Arm)
2026-08-27 17:47 ` Kairui Song
2026-08-27 19:33 ` David Hildenbrand (Arm)
2026-08-20 18:55 ` [PATCH v3 15/18] mm/huge_memory: lift order-0 restriction for swapcache split Kairui Song via B4 Relay
2026-08-27 16:51 ` David Hildenbrand (Arm)
2026-08-27 17:48 ` Kairui Song
2026-08-27 20:22 ` David Hildenbrand (Arm)
2026-08-30 13:19 ` Kairui Song [this message]
2026-08-20 18:55 ` [PATCH v3 16/18] mm/huge_memory: clarify supported split orders in comment Kairui Song via B4 Relay
2026-08-26 2:02 ` Zi Yan
2026-08-27 17:48 ` Kairui Song
2026-08-27 16:54 ` David Hildenbrand (Arm)
2026-08-20 18:55 ` [PATCH v3 17/18] mm/huge_memory: count only swap cache refs in anon folio split Kairui Song via B4 Relay
2026-08-20 18:55 ` [PATCH v3 18/18] mm/huge_memory: drop the redundant mapping argument of __split_frozen_folio Kairui Song via B4 Relay
2026-08-26 2:06 ` Zi Yan
2026-08-27 12:19 ` [PATCH v3 00/18] mm/huge_memory: clean up folio split and lift swapcache split limits Yeoreum Yun
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=apQs7U5eveKKtPxX@KASONG-MC4 \
--to=ryncsn@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=baohua@kernel.org \
--cc=baolin.wang@linux.alibaba.com \
--cc=baoquan.he@linux.dev \
--cc=chrisl@kernel.org \
--cc=david@kernel.org \
--cc=dev.jain@arm.com \
--cc=lance.yang@linux.dev \
--cc=liam@infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=ljs@kernel.org \
--cc=mhocko@suse.com \
--cc=nico.pache@linux.dev \
--cc=nphamcs@gmail.com \
--cc=rppt@kernel.org \
--cc=ryan.roberts@arm.com \
--cc=shikemeng@huaweicloud.com \
--cc=shivamkalra98@zohomail.in \
--cc=surenb@google.com \
--cc=usama.arif@linux.dev \
--cc=vbabka@kernel.org \
--cc=youngjun.park@lge.com \
--cc=ziy@nvidia.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®