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>
Tested-by: Konstantin Kharlamov <Hi-Angel@yandex.ru>
  • Loading branch information
yuzhaogoogle authored and xanmod committed Jun 28, 2021
1 parent 5f940f6 commit 7585161
Showing 1 changed file with 58 additions and 0 deletions.
58 changes: 58 additions & 0 deletions mm/Kconfig
Expand Up @@ -901,4 +901,62 @@ config KMAP_LOCAL
# struct io_mapping based helper. Selected by drivers that need them
config IO_MAPPING
bool

# the multigenerational lru {
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 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.

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.

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

endmenu

0 comments on commit 7585161

Please sign in to comment.