Skip to content

Commit

Permalink
mm: multigenerational lru: Kconfig
Browse files Browse the repository at this point in the history
Add configuration options for the multigenerational lru.

Signed-off-by: Yu Zhao <yuzhao@google.com>
  • Loading branch information
yuzhaogoogle authored and xanmod committed May 2, 2021
1 parent 1edcb63 commit 768059d
Showing 1 changed file with 55 additions and 0 deletions.
55 changes: 55 additions & 0 deletions mm/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -872,4 +872,59 @@ config MAPPING_DIRTY_HELPERS
config KMAP_LOCAL
bool

config LRU_GEN
bool "Multigenerational LRU"
depends on MMU
help
A high performance LRU implementation to heavily overcommit workloads
that are not IO bound. See Documentation/vm/multigen_lru.rst for
details.

Warning: do not enable this option unless you plan to use it because
it introduces a small per-process and per-memcg and per-node memory
overhead.

config NR_LRU_GENS
int "Max number of generations"
depends on LRU_GEN
range 4 31
default 7
help
This will use order_base_2(N+1) spare bits from page flags.

Warning: do not use numbers larger than necessary because each
generation introduces a small per-node and per-memcg memory overhead.

config TIERS_PER_GEN
int "Number of tiers per generation"
depends on LRU_GEN
range 2 5
default 4
help
This will use N-2 spare bits from page flags.

Higher values generally offer better protection to active pages under
heavy buffered I/O workloads.

config LRU_GEN_ENABLED
bool "Turn on by default"
depends on LRU_GEN
help
The default value of /sys/kernel/mm/lru_gen/enabled is 0. This option
changes it to 1.

Warning: the default value is the fast path. See
Documentation/static-keys.txt for details.

config LRU_GEN_STATS
bool "Full stats for debugging"
depends on LRU_GEN
help
This option keeps full stats for each generation, which can be read
from /sys/kernel/debug/lru_gen_full.

Warning: do not enable this option unless you plan to use it because
it introduces an additional small per-process and per-memcg and
per-node memory overhead.

endmenu

0 comments on commit 768059d

Please sign in to comment.