Re: [RFC PATCH v2 2/3] mm: distinguish large folio swap allocation failures

From: Johannes Weiner

Date: Thu Jul 09 2026 - 11:03:20 EST


On Thu, Jul 09, 2026 at 10:51:23PM +0800, Xueyuan Chen wrote:
> @@ -5550,10 +5558,7 @@ long mem_cgroup_get_nr_swap_pages(struct mem_cgroup *memcg)
>
> if (mem_cgroup_disabled() || do_memsw_account())
> return nr_swap_pages;
> - for (; !mem_cgroup_is_root(memcg); memcg = parent_mem_cgroup(memcg))
> - nr_swap_pages = min_t(long, nr_swap_pages,
> - READ_ONCE(memcg->swap.max) -
> - page_counter_read(&memcg->swap));
> + nr_swap_pages = min(nr_swap_pages, page_counter_margin(&memcg->swap));

This hunk is unrelated to this patch. Don't mix refactor work with new
functionality. Make the previous patch a pure refactor job (where you
add page_counter_margin() and use it here ^), like I had proposed.