linux/mm/damon
SeongJae Park 40e983cca9 mm/damon: introduce DAMON-based LRU-lists Sorting
Users can do data access-aware LRU-lists sorting using 'LRU_PRIO' and
'LRU_DEPRIO' DAMOS actions.  However, finding best parameters including
the hotness/coldness thresholds, CPU quota, and watermarks could be
challenging for some users.  To make the scheme easy to be used without
complex tuning for common situations, this commit implements a static
kernel module called 'DAMON_LRU_SORT' using the 'LRU_PRIO' and
'LRU_DEPRIO' DAMOS actions.

It proactively sorts LRU-lists using DAMON with conservatively chosen
default values of the parameters.  That is, the module under its default
parameters will make no harm for common situations but provide some level
of efficiency improvements for systems having clear hot/cold access
pattern under a level of memory pressure while consuming only a limited
small portion of CPU time.

Link: https://lkml.kernel.org/r/20220613192301.8817-9-sj@kernel.org
Signed-off-by: SeongJae Park <sj@kernel.org>
Cc: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2022-07-03 18:08:43 -07:00
..
core-test.h mm/damon/core-test: add a kunit test case for ops registration 2022-04-29 14:37:00 -07:00
core.c mm/damon/vaddr: move 'damon_set_regions()' to core 2022-05-13 07:20:08 -07:00
dbgfs-test.h mm/damon/dbgfs-test: fix is_target_id() change 2022-03-22 15:57:12 -07:00
dbgfs.c mm/damon/dbgfs: add and use mappings between 'schemes' action inputs and 'damos_action' values 2022-07-03 18:08:42 -07:00
Kconfig mm/damon: introduce DAMON-based LRU-lists Sorting 2022-07-03 18:08:43 -07:00
lru_sort.c mm/damon: introduce DAMON-based LRU-lists Sorting 2022-07-03 18:08:43 -07:00
Makefile mm/damon: introduce DAMON-based LRU-lists Sorting 2022-07-03 18:08:43 -07:00
ops-common.c mm/damon/schemes: add 'LRU_PRIO' DAMOS action 2022-07-03 18:08:42 -07:00
ops-common.h mm/damon/schemes: add 'LRU_PRIO' DAMOS action 2022-07-03 18:08:42 -07:00
paddr.c mm/damon/schemes: add 'LRU_DEPRIO' action 2022-07-03 18:08:43 -07:00
reclaim.c mm/damon/reclaim: add 'damon_reclaim_' prefix to 'enabled_store()' 2022-07-03 18:08:38 -07:00
sysfs.c mm/damon/schemes: add 'LRU_DEPRIO' action 2022-07-03 18:08:43 -07:00
vaddr-test.h mm/damon/vaddr: remove damon_va_apply_three_regions() 2022-05-13 07:20:08 -07:00
vaddr.c mm: damon: use HPAGE_PMD_SIZE 2022-05-19 14:08:55 -07:00