Skip to content

Balancing the scan rate of major caches

Wu Fengguang lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest12 patches 27 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/12vm: kswapd incminmm/vmscan.c+37 -742 replies
2/12mm: supporting variables and functions for balanced zone aginginclude/linux/mmzone.h mm/page_alloc.c mm/vmscan.c+64 -024 replies
3/12mm: balance zone aging in direct reclaim pathmm/vmscan.c+28 -30 replies
4/12mm: balance zone aging in kswapd reclaim pathmm/vmscan.c+30 -90 replies
5/12mm: balance slab aginginclude/linux/mm.h mm/vmscan.c+55 -670 replies
6/12mm: balance active/inactive list scan ratesinclude/linux/mmzone.h include/linux/swap.h mm/page_alloc.c +1 more+33 -291 reply
7/12mm: remove unnecessary variable and loopmm/vmscan.c+43 -490 replies
8/12mm: remove swap_cluster_max from scan_controlmm/vmscan.c+4 -110 replies
9/12mm: accumulate sc.nr_scanned/sc.nr_reclaimedmm/vmscan.c+14 -220 replies
10/12mm: merge sc.may_writepage and sc.may_swap into sc.flagsmm/vmscan.c+10 -120 replies
11/12mm: add page reclaim debug tracesmm/vmscan.c+69 -10 replies
12/12mm: fix minor scan count bugsmm/vmscan.c+6 -40 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 00/12] Balancing the scan rate of major caches

Hi all,

This patch balances the aging rates of active_list/inactive_list/slab.

It started out as an effort to enable the adaptive read-ahead to handle large number of concurrent readers. Then I found it involves much more stuffs, and deserves a standalone patchset to address the balancing problem as a whole.

The whole picture of balancing:

- In each node, inactive_list scan rates are synced with each other. It is done in the direct/kswapd reclaim path.

- In each zone, active_list scan rate always follows that of inactive_list.

- Slab cache scan rates always follow that of the current node. If the shrinkers are not NUMA aware, they will effectly sync scan rates with that of the most scanned node.

The patches can be grouped as follows:

- balancing stuffs
vm-kswapd-incmin.patch
mm-balance-zone-aging-supporting-facilities.patch
mm-balance-zone-aging-in-direct-reclaim.patch
mm-balance-zone-aging-in-kswapd-reclaim.patch
mm-balance-slab-aging.patch
mm-balance-active-inactive-list-aging.patch

- pure code cleanups mm-remove-unnecessary-variable-and-loop.patch mm-remove-swap-cluster-max-from-scan-control.patch mm-accumulate-nr-scanned-reclaimed-in-scan-control.patch mm-turn-bool-variables-into-flags-in-scan-control.patch

- debug code
mm-page-reclaim-debug-traces.patch

- a minor fix
mm-scan-accounting-fix.patch

Thanks,
Wu Fengguang

Signature · 1 line
Dept. Automation                University of Science and Technology of China