[PATCH 00/22] mm/damon: cleanup code

From: SeongJae Park
Date: Tue Sep 13 2022 - 14:27:13 EST


DAMON code was not so clean from the beginning, but it has been too much
nowadays, especially due to the duplicates in DAMON_RECLAIM and
DAMON_LRU_SORT. This patchset cleans some of the mess.

SeongJae Park (22):
mm/damon/paddr: make supported DAMOS actions of paddr clear
mm/damon/paddr: deduplicate
damon_pa_{mark_accessed,deactivate_pages}()
mm/damon/core: copy struct-to-struct instead of field-to-field in
damon_new_scheme()
mm/damon/core: factor out 'damos_quota' private fileds initialization
mm/damon/core: use a dedicated struct for monitoring attributes
mm/damon/core: reduce parameters for damon_set_attrs()
mm/damon/reclaim: use 'struct damon_attrs' for storing parameters for
it
mm/damon/lru_sort: use 'struct damon_attrs' for storing parameters for
it
mm/damon: implement a monitoring attributes module parameters
generator macro
mm/damon/lru_sort: use monitoring attributes parameters generaotr
macro
mm/damon/reclaim: use monitoring attributes parameters generator macro
mm/damon/modules-common: implement a watermarks module parameters
generator macro
mm/damon/lru_sort: use watermarks parameters generator macro
mm/damon/reclaim: use watermarks parameters generator macro
mm/damon/modules-common: implement a stats parameters generator macro
mm/damon/reclaim: use stat parameters generator
mm/damon/lru_sort: use stat generator
mm/damon/modules-common: implement a damos quota params generator
mm/damon/modules-common: implement damos time quota params generator
mm/damon/reclaim: use the quota params generator macro
mm/damon/lru_sort: use quotas param generator
mm/damon/lru_sort: deduplicate hot/cold schemes generators

include/linux/damon.h | 34 +++--
mm/damon/core.c | 87 +++++------
mm/damon/dbgfs.c | 15 +-
mm/damon/lru_sort.c | 303 +++++++++-----------------------------
mm/damon/modules-common.h | 46 ++++++
mm/damon/ops-common.c | 4 +-
mm/damon/paddr.c | 29 ++--
mm/damon/reclaim.c | 220 ++++++---------------------
mm/damon/sysfs.c | 12 +-
mm/damon/vaddr.c | 4 +-
10 files changed, 246 insertions(+), 508 deletions(-)
create mode 100644 mm/damon/modules-common.h

--
2.25.1