Re: [PATCH v4 0/5] mm: batch TLB flushing for dirty folios in vmscan

From: Andrew Morton

Date: Mon May 25 2026 - 14:58:15 EST


On Mon, 25 May 2026 22:57:16 +0800 Zhang Peng <zippermonkey@xxxxxxxxxx> wrote:

> This series introduces batch TLB flushing optimization for dirty folios
> during memory reclaim, aiming to reduce IPI overhead on multi-core systems.

So often we see such good results from batching things.

> ...
>
> Testing
> -------
> The benchmark script uses stress-ng to compare TLB shootdown behavior before and
> after this patch. It constrains a stress-ng workload via memcg to force reclaim
> through shrink_folio_list(), reporting TLB shootdowns and IPIs.
>
> Core benchmark command: stress-ng --vm 16 --vm-bytes 2G --vm-keep --timeout 60
>
> ==========================================================================
> batch_dirty_tlb_flush Benchmark Results
> ==========================================================================
> Kernel: 7.0.0-rc1+ CPUs: 16
> MemTotal: 31834M SwapTotal: 8191M
> memcg limit: 512M alloc: 2G workers: 16 duration: 60s
> --------------------------------------------------------------------------
> Metric Before After Delta (abs / %)
> --------------------------------------------------------------------------
> bogo ops/s 28238.63 35833.97 +7595.34 (+26.9%)
> TLB shootdowns 55428953 17621697 -37807256 (-68.2%)
> Function call IPIs 34073695 14498768 -19574927 (-57.4%)
> pgscan_anon (pages) 52856224 60252894 7396670 (+14.0%)
> pgsteal_anon (pages) 29004962 34054753 5049791 (+17.4%)
> --------------------------------------------------------------------------

Nice.

AI review asked a few things:
https://sashiko.dev/#/patchset/20260525-batch-tlb-flush-v4-0-83789d6abc00@xxxxxxxxxx

Thanks. I'll take no action at this time - there's no review yet and we're at
-rc5.