Changes from Previous Version (RFC[1]) ====================================== - Rebase on latest -mm tree - Remove page granularity idleness monitoring part [1] https://lore.kernel.org/linux-mm/20201216094221.11898-1-sjpark@xxxxxxxxxx/ Introduction ============ DAMON is currently supporting only virtual address spaces monitoring. It can be easily extended for various use cases and address spaces by configuring its monitoring primitives layer to use appropriate primitives implementations, though. This patchset implements monitoring primitives for the physical address space monitoring using the structure. Baseline and Complete Git Trees =============================== The patches are based on the latest -mm tree (v5.15-rc4-mmots-2021-10-10-18-34)[1]. You can also clone the complete git tree: $ git clone git://git.kernel.org/pub/scm/linux/kernel/git/sj/linux.git -b damon-paddr/patches/v1 The web is also available: https://git.kernel.org/pub/scm/linux/kernel/git/sj/linux.git/tag/?h=damon-paddr/patches/v1 [1] https://github.com/hnaz/linux-mm/tree/v5.15-rc4-mmots-2021-10-10-18-34 Sequence of Patches =================== The first 3 patches allow the user space users manually set the monitoring regions. The 1st patch implements the feature in the 'damon-dbgfs'. Then, patches for adding a unit tests (the 2nd patch) and updating the documentation (the 3rd patch) follow. Following 4 patches implement the physical address space monitoring primitives. The 4th patch makes some primitive functions for the virtual address spaces primitives reusable. The 5th patch implements the physical address space monitoring primitives. The 6th patch links the primitives to the 'damon-dbgfs'. Finally, 7th patch documents this new features. Patch History ============= Changes from RFC v10 (https://lore.kernel.org/linux-mm/20201216094221.11898-1-sjpark@xxxxxxxxxx/) - Rebase on latest -mm tree - Remove page granularity idleness monitoring part Please refer to RFC v10 for previous history. SeongJae Park (7): mm/damon/dbgfs: Allow users to set initial monitoring target regions mm/damon/dbgfs-test: Add a unit test case for 'init_regions' Docs/admin-guide/mm/damon: Document 'init_regions' feature mm/damon/vaddr: Separate commonly usable functions mm/damon: Implement primitives for physical address space monitoring mm/damon/dbgfs: Support physical memory monitoring Docs/DAMON: Document physical memory monitoring support Documentation/admin-guide/mm/damon/usage.rst | 62 ++++- Documentation/vm/damon/design.rst | 29 ++- Documentation/vm/damon/faq.rst | 5 +- include/linux/damon.h | 10 + mm/damon/Kconfig | 10 +- mm/damon/Makefile | 3 +- mm/damon/dbgfs-test.h | 54 +++++ mm/damon/dbgfs.c | 177 ++++++++++++++- mm/damon/paddr.c | 224 +++++++++++++++++++ mm/damon/prmtv-common.c | 88 ++++++++ mm/damon/prmtv-common.h | 17 ++ mm/damon/vaddr.c | 87 +------ 12 files changed, 655 insertions(+), 111 deletions(-) create mode 100644 mm/damon/paddr.c create mode 100644 mm/damon/prmtv-common.c create mode 100644 mm/damon/prmtv-common.h -- 2.17.1