From: Baolin Wang <baolin.wang@linux.alibaba.com>
To: Zicheng Wang <wangzicheng@honor.com>
Cc: akpm@linux-foundation.org, david@kernel.org, ljs@kernel.org,
hannes@cmpxchg.org, riel@surriel.com, liam@infradead.org,
vbabka@kernel.org, harry@kernel.org, jannh@google.com,
lance.yang@linux.dev, kasong@tencent.com, qi.zheng@linux.dev,
shakeel.butt@linux.dev, baohua@kernel.org,
axelrasmussen@google.com, yuanchu@google.com, weixugc@google.com,
mhocko@kernel.org, linux-mm@kvack.org,
linux-kernel@vger.kernel.org, tao.wangtao@honor.com,
zhangji1@honor.com
Subject: Re: [PATCH v4 0/3] promote mapped executable folios after first usage for MGLRU
Date: Mon, 27 Jul 2026 16:08:19 +0800 [thread overview]
Message-ID: <fef26b57-1e5b-42af-a311-7a961806a22e@linux.alibaba.com> (raw)
In-Reply-To: <20260724160000.b4-mglru-feedback@hihonor.com>
Hi Zicheng,
On 7/24/26 4:00 PM, Zicheng Wang wrote:
> Hi Baolin,
>
> We backport and test an Android handset(qcom8850, 6.12, 12 GB).
> Patch 1's vma_flags_t isn't on 6.12, so we kept only the core
> check in its legacy form:
> (vma->vm_flags & VM_EXEC)
>
> Since this is a backport, the numbers below just show the direction
> of change. Overall the patch does well, and ran for several
> hours with no crashes or hangs:
>
> Camera (launch + capture, 22 background apps resident):
> cold-start p50 -6.3%
> capture on par
> memavail at startup +4 .. +7%
>
> Reclaim over the same window, as the patch intends:
> pgsteal_kswapd -46.5% pgscan_kswapd -52.9%
> pgsteal_direct +0.8% pgscan_direct -6.7%
> pgsteal_anon -13.8% pgscan_anon -13.8%
> pgsteal_file -14.5% pgscan_file -30.1%
>
> Dynamic jank (cold start + scroll, x10): missed-frame <1% on both
> base and patched; not memory-bound enough to discriminate.
Thanks for testing and sharing the performance number.
> One trade-off, same run. PSI (memory) creeps up on the sustained
> window:
>
> avg10 avg60 avg300
> some base 0.00 0.03 0.33
> some patched 0.00 0.02 0.37 (+12%)
> full base 0.00 0.00 0.10
> full patched 0.00 0.00 0.13 (+30%)
>
> and kernel stack footprint -5.3%. Reads as LMKD keeping fewer
> background apps alive. This seems an Android policy interaction,
> not a kernel regression. Downstreams with aggressive LMKD may
> want to retune.
I didn't pay attention to PSI before, but I think this is explainable.
Since we try to keep executable file folios in memory to avoid IO
thrashing, which could cause more severe problems (such as the system
hanging), this also means that the stall time of some other folios may
increase. Moreover, the stall time of the original exec folios might not
have been counted at all, for example, in filemap_read_folio(), PSI is
only accounted for file folios marked with workingset, but before my
patch, exec file folios might not have had a chance to set the
workingset flag.
However, the overhead of IO thrashing is more severe than the stall time
of other memory allocations, which is why the end-to-end performance
improves, as seen from your data.
next prev parent reply other threads:[~2026-07-27 8:08 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-20 11:11 Baolin Wang
2026-07-20 11:12 ` [PATCH v4 1/3] mm: vmscan: convert folio_referenced() to use vma_flags_t Baolin Wang
2026-07-20 11:12 ` [PATCH v4 2/3] mm: vmscan: add a helper to identify file-backed executable folios Baolin Wang
2026-07-20 13:27 ` David Hildenbrand (Arm)
2026-07-20 14:26 ` Kairui Song
2026-07-21 7:47 ` Barry Song
2026-07-20 11:12 ` [PATCH v4 3/3] mm: mglru: promote mapped executable folios after first usage Baolin Wang
2026-07-21 8:31 ` Barry Song
2026-07-23 2:26 ` Baolin Wang
2026-07-24 8:00 ` [PATCH v4 0/3] promote mapped executable folios after first usage for MGLRU Zicheng Wang
2026-07-27 8:08 ` Baolin Wang [this message]
2026-07-28 4:11 ` Zicheng Wang
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=fef26b57-1e5b-42af-a311-7a961806a22e@linux.alibaba.com \
--to=baolin.wang@linux.alibaba.com \
--cc=akpm@linux-foundation.org \
--cc=axelrasmussen@google.com \
--cc=baohua@kernel.org \
--cc=david@kernel.org \
--cc=hannes@cmpxchg.org \
--cc=harry@kernel.org \
--cc=jannh@google.com \
--cc=kasong@tencent.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@kernel.org \
--cc=qi.zheng@linux.dev \
--cc=riel@surriel.com \
--cc=shakeel.butt@linux.dev \
--cc=tao.wangtao@honor.com \
--cc=vbabka@kernel.org \
--cc=wangzicheng@honor.com \
--cc=weixugc@google.com \
--cc=yuanchu@google.com \
--cc=zhangji1@honor.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®