[PATCH v26 13/13] MAINTAINERS: Update for DAMON

2021-03-30 Thread sj38 . park
From: SeongJae Park This commit updates MAINTAINERS file for DAMON related files. Signed-off-by: SeongJae Park --- MAINTAINERS | 12 1 file changed, 12 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index 59c515f0ab10..978cd8088bdc 100644 --- a/MAINTAINERS +++

[PATCH v26 11/13] mm/damon: Add kunit tests

2021-03-30 Thread sj38 . park
From: SeongJae Park This commit adds kunit based unit tests for the core and the virtual address spaces monitoring primitives of DAMON. Signed-off-by: SeongJae Park Reviewed-by: Brendan Higgins --- mm/damon/Kconfig | 36 + mm/damon/core-test.h | 253

[PATCH v26 12/13] mm/damon: Add user space selftests

2021-03-30 Thread sj38 . park
From: SeongJae Park This commit adds a simple user space tests for DAMON. The tests are using kselftest framework. Signed-off-by: SeongJae Park --- tools/testing/selftests/damon/Makefile| 7 ++ .../selftests/damon/_chk_dependency.sh| 28 ++

[PATCH v26 10/13] Documentation: Add documents for DAMON

2021-03-30 Thread sj38 . park
From: SeongJae Park This commit adds documents for DAMON under `Documentation/admin-guide/mm/damon/` and `Documentation/vm/damon/`. Signed-off-by: SeongJae Park --- Documentation/admin-guide/mm/damon/guide.rst | 159 + Documentation/admin-guide/mm/damon/index.rst | 15 ++

[PATCH v26 08/13] mm/damon/dbgfs: Export kdamond pid to the user space

2021-03-30 Thread sj38 . park
From: SeongJae Park For CPU usage accounting, knowing pid of the monitoring thread could be helpful. For example, users could use cpuaccount cgroups with the pid. This commit therefore exports the pid of currently running monitoring thread to the user space via 'kdamond_pid' file in the

[PATCH v26 09/13] mm/damon/dbgfs: Support multiple contexts

2021-03-30 Thread sj38 . park
From: SeongJae Park In some use cases, users would want to run multiple monitoring context. For example, if a user wants a high precision monitoring and dedicating multiple CPUs for the job is ok, because DAMON creates one monitoring thread per one context, the user can split the monitoring

[PATCH v26 06/13] mm/damon: Add a tracepoint

2021-03-30 Thread sj38 . park
From: SeongJae Park This commit adds a tracepoint for DAMON. It traces the monitoring results of each region for each aggregation interval. Using this, DAMON can easily integrated with tracepoints supporting tools such as perf. Signed-off-by: SeongJae Park Reviewed-by: Leonard Foerster

[PATCH v26 07/13] mm/damon: Implement a debugfs-based user space interface

2021-03-30 Thread sj38 . park
From: SeongJae Park DAMON is designed to be used by kernel space code such as the memory management subsystems, and therefore it provides only kernel space API. That said, letting the user space control DAMON could provide some benefits to them. For example, it will allow user space to analyze

[PATCH v26 05/13] mm/damon: Implement primitives for the virtual memory address spaces

2021-03-30 Thread sj38 . park
From: SeongJae Park This commit introduces a reference implementation of the address space specific low level primitives for the virtual address space, so that users of DAMON can easily monitor the data accesses on virtual address spaces of specific processes by simply configuring the

[PATCH v26 04/13] mm/idle_page_tracking: Make PG_idle reusable

2021-03-30 Thread sj38 . park
From: SeongJae Park PG_idle and PG_young allow the two PTE Accessed bit users, Idle Page Tracking and the reclaim logic concurrently work while don't interfere each other. That is, when they need to clear the Accessed bit, they set PG_young to represent the previous state of the bit,

[PATCH v26 03/13] mm/damon: Adaptively adjust regions

2021-03-30 Thread sj38 . park
From: SeongJae Park Even somehow the initial monitoring target regions are well constructed to fulfill the assumption (pages in same region have similar access frequencies), the data access pattern can be dynamically changed. This will result in low monitoring quality. To keep the assumption

[PATCH v26 02/13] mm/damon/core: Implement region-based sampling

2021-03-30 Thread sj38 . park
From: SeongJae Park To avoid the unbounded increase of the overhead, DAMON groups adjacent pages that are assumed to have the same access frequencies into a region. As long as the assumption (pages in a region have the same access frequencies) is kept, only one page in the region is required to

[PATCH v26 01/13] mm: Introduce Data Access MONitor (DAMON)

2021-03-30 Thread sj38 . park
From: SeongJae Park DAMON is a data access monitoring framework for the Linux kernel. The core mechanisms of DAMON make it - accurate (the monitoring output is useful enough for DRAM level performance-centric memory management; It might be inappropriate for CPU cache levels, though), -

[PATCH v26 00/13] Introduce Data Access MONitor (DAMON)

2021-03-30 Thread sj38 . park
From: SeongJae Park Changes from Previous Version (v25) === - Rebase on latest -mm tree (v5.12-rc4-mmots-2021-03-28-16-40) - Remove unnecessary test code that dependent on record feature - Handle special mappings having no corresponding 'struct page' (Guoju Fang)

Re: [PATCH] docs/kokr: make sections on bug reporting match practice

2021-03-23 Thread sj38 . park
Hello Jon, could I ask you a review for this patch? Thanks, SeongJae Park

Re: [PATCH v25 12/13] mm/damon: Add user space selftests

2021-03-23 Thread sj38 . park
On Thu, 18 Mar 2021 10:08:55 + sj38.p...@gmail.com wrote: > From: SeongJae Park > > This commit adds a simple user space tests for DAMON. The tests are > using kselftest framework. > > Signed-off-by: SeongJae Park > --- > tools/testing/selftests/damon/Makefile| 7 + >

[PATCH v25 12/13] mm/damon: Add user space selftests

2021-03-18 Thread sj38 . park
From: SeongJae Park This commit adds a simple user space tests for DAMON. The tests are using kselftest framework. Signed-off-by: SeongJae Park --- tools/testing/selftests/damon/Makefile| 7 + .../selftests/damon/_chk_dependency.sh| 28 +++

[PATCH v25 11/13] mm/damon: Add kunit tests

2021-03-18 Thread sj38 . park
From: SeongJae Park This commit adds kunit based unit tests for the core and the virtual address spaces monitoring primitives of DAMON. Signed-off-by: SeongJae Park Reviewed-by: Brendan Higgins --- mm/damon/Kconfig | 36 + mm/damon/core-test.h | 253

[PATCH v25 13/13] MAINTAINERS: Update for DAMON

2021-03-18 Thread sj38 . park
From: SeongJae Park This commit updates MAINTAINERS file for DAMON related files. Signed-off-by: SeongJae Park --- MAINTAINERS | 12 1 file changed, 12 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index b2baeb5e4a68..4665a5699cf6 100644 --- a/MAINTAINERS +++

[PATCH v25 10/13] Documentation: Add documents for DAMON

2021-03-18 Thread sj38 . park
From: SeongJae Park This commit adds documents for DAMON under `Documentation/admin-guide/mm/damon/` and `Documentation/vm/damon/`. Signed-off-by: SeongJae Park --- Documentation/admin-guide/mm/damon/guide.rst | 159 + Documentation/admin-guide/mm/damon/index.rst | 15 ++

[PATCH v25 08/13] mm/damon/dbgfs: Export kdamond pid to the user space

2021-03-18 Thread sj38 . park
From: SeongJae Park For CPU usage accounting, knowing pid of the monitoring thread could be helpful. For example, users could use cpuaccount cgroups with the pid. This commit therefore exports the pid of currently running monitoring thread to the user space via 'kdamond_pid' file in the

[PATCH v25 07/13] mm/damon: Implement a debugfs-based user space interface

2021-03-18 Thread sj38 . park
From: SeongJae Park DAMON is designed to be used by kernel space code such as the memory management subsystems, and therefore it provides only kernel space API. That said, letting the user space control DAMON could provide some benefits to them. For example, it will allow user space to analyze

[PATCH v25 09/13] mm/damon/dbgfs: Support multiple contexts

2021-03-18 Thread sj38 . park
From: SeongJae Park In some use cases, users would want to run multiple monitoring context. For example, if a user wants a high precision monitoring and dedicating multiple CPUs for the job is ok, because DAMON creates one monitoring thread per one context, the user can split the monitoring

[PATCH v25 06/13] mm/damon: Add a tracepoint

2021-03-18 Thread sj38 . park
From: SeongJae Park This commit adds a tracepoint for DAMON. It traces the monitoring results of each region for each aggregation interval. Using this, DAMON can easily integrated with tracepoints supporting tools such as perf. Signed-off-by: SeongJae Park Reviewed-by: Leonard Foerster

[PATCH v25 05/13] mm/damon: Implement primitives for the virtual memory address spaces

2021-03-18 Thread sj38 . park
From: SeongJae Park This commit introduces a reference implementation of the address space specific low level primitives for the virtual address space, so that users of DAMON can easily monitor the data accesses on virtual address spaces of specific processes by simply configuring the

[PATCH v25 04/13] mm/idle_page_tracking: Make PG_idle reusable

2021-03-18 Thread sj38 . park
From: SeongJae Park PG_idle and PG_young allow the two PTE Accessed bit users, Idle Page Tracking and the reclaim logic concurrently work while don't interfere each other. That is, when they need to clear the Accessed bit, they set PG_young to represent the previous state of the bit,

[PATCH v25 03/13] mm/damon: Adaptively adjust regions

2021-03-18 Thread sj38 . park
From: SeongJae Park Even somehow the initial monitoring target regions are well constructed to fulfill the assumption (pages in same region have similar access frequencies), the data access pattern can be dynamically changed. This will result in low monitoring quality. To keep the assumption

[PATCH v25 02/13] mm/damon/core: Implement region-based sampling

2021-03-18 Thread sj38 . park
From: SeongJae Park To avoid the unbounded increase of the overhead, DAMON groups adjacent pages that are assumed to have the same access frequencies into a region. As long as the assumption (pages in a region have the same access frequencies) is kept, only one page in the region is required to

[PATCH v25 01/13] mm: Introduce Data Access MONitor (DAMON)

2021-03-18 Thread sj38 . park
From: SeongJae Park DAMON is a data access monitoring framework for the Linux kernel. The core mechanisms of DAMON make it - accurate (the monitoring output is useful enough for DRAM level performance-centric memory management; It might be inappropriate for CPU cache levels, though), -

[PATCH v25 00/13] Introduce Data Access MONitor (DAMON)

2021-03-18 Thread sj38 . park
From: SeongJae Park Changes from Previous Version (v24) === - Rebase on latest -mm tree (v5.12-rc3-mmots-2021-03-17-22-26) - Ignore 'debugfs_create_{file|dir}()' return values (Greg KH) - Remove 'recording' feature - Remove user space tool and recording