Re: [PATCH v24 00/14] Subject: Introduce Data Access MONitor (DAMON)
From: SeongJae Park <hidden>
Date: 2021-03-04 10:10:22
Also in:
linux-mm, lkml
On Thu, 4 Feb 2021 16:31:36 +0100 SeongJae Park [off-list ref] wrote:
From: SeongJae Park <redacted>
[...]
Introduction ============ DAMON is a data access monitoring framework for the Linux kernel. The core mechanisms of DAMON called 'region based sampling' and 'adaptive regions adjustment' (refer to 'mechanisms.rst' in the 11th patch of this patchset for the detail) make it - accurate (The monitored information is useful for DRAM level memory management. It might not appropriate for Cache-level accuracy, though.), - light-weight (The monitoring overhead is low enough to be applied online while making no impact on the performance of the target workloads.), and - scalable (the upper-bound of the instrumentation overhead is controllable regardless of the size of target workloads.). Using this framework, therefore, several memory management mechanisms such as reclamation and THP can be optimized to aware real data access patterns. Experimental access pattern aware memory management optimization works that incurring high instrumentation overhead will be able to have another try. Though DAMON is for kernel subsystems, it can be easily exposed to the user space by writing a DAMON-wrapper kernel subsystem. Then, user space users who have some special workloads will be able to write personalized tools or applications for deeper understanding and specialized optimizations of their systems.
[...]
Baseline and Complete Git Trees
===============================
The patches are based on the v5.10. You can also clone the complete git
tree:
$ git clone git://github.com/sjp38/linux -b damon/patches/v24
The web is also available:
https://github.com/sjp38/linux/releases/tag/damon/patches/v24
There are a couple of trees for entire DAMON patchset series. It includes
future features. The first one[1] contains the changes for latest release,
while the other one[2] contains the changes for next release.
[1] https://github.com/sjp38/linux/tree/damon/master
[2] https://github.com/sjp38/linux/tree/damon/nextFor people who prefer LTS kernels, I decided to maintain two more trees that repectively based on latest two LTS kernels and contains backports of the latest 'damon/master' tree, as below. Please use those if you want to test DAMON but using LTS. - For v5.4.y: https://github.com/sjp38/linux/tree/damon/for-v5.4.y - For v5.10.y: https://github.com/sjp38/linux/tree/damon/for-v5.10.y Thanks, SeongJae Park