mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
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.

  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®