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