[PATCH v20 12/15] Documentation: Add documents for DAMON

2020-08-17 Thread SeongJae 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 | 157 ++ Documentation/admin-guide/mm/damon/index.rst | 15

[PATCH v20 11/15] tools: Introduce a minimal user-space tool for DAMON

2020-08-17 Thread SeongJae Park
From: SeongJae Park This commit imtroduces a shallow wrapper python script, ``/tools/damon/damo`` that provides more convenient interface. Note that it is only aimed to be used for minimal reference of the DAMON's debugfs interfaces and for debugging of the DAMON itself. Signed-off

[PATCH v20 10/15] damon/debugfs: Support pidfd target id

2020-08-17 Thread SeongJae Park
From: SeongJae Park DAMON programming interface users are safe from pid recycling problem since it uses 'struct pid *' as target id. However, debugfs interface users might still get the problem since they should describe the target ids with pid numbers. This commit makes the debugfs interface

[PATCH v20 08/15] mm/damon: Add a tracepoint

2020-08-17 Thread SeongJae 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 v20 09/15] mm/damon: Implement a debugfs interface

2020-08-17 Thread SeongJae Park
From: SeongJae Park This commit implements a debugfs interface for DAMON. It works for the virtual address spaces monitoring. DAMON exports four files, ``attrs``, ``target_ids``, ``record``, and ``monitor_on`` under its debugfs directory, ``/damon/``. Attributes -- Users can read

[PATCH v20 07/15] mm/damon: Implement access pattern recording

2020-08-17 Thread SeongJae Park
From: SeongJae Park This commit implements the recording feature of DAMON. If this feature is enabled, DAMON writes the monitored access patterns in its binary format into a file which specified by the user. This is already able to be implemented by each user using the callbacks. However

[PATCH v20 05/15] mm/idle_page_tracking: Make PG_(idle|young) reusable

2020-08-17 Thread SeongJae Park
From: SeongJae Park PG_idle and PG_young allows 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 and PG_idle to represent the previous state

[PATCH v20 06/15] mm/damon: Implement callbacks for the virtual memory address spaces

2020-08-17 Thread SeongJae 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

[PATCH v20 04/15] mm/damon: Track dynamic monitoring target regions update

2020-08-17 Thread SeongJae Park
From: SeongJae Park The monitoring target address range can be dynamically changed. For example, virtual memory could be dynamically mapped and unmapped. Physical memory could be hot-plugged. As the changes could be quite frequent in some cases, DAMON checks the dynamic memory mapping changes

[PATCH v20 03/15] mm/damon: Adaptively adjust regions

2020-08-17 Thread SeongJae 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 v20 01/15] mm: Introduce Data Access MONitor (DAMON)

2020-08-17 Thread SeongJae Park
From: SeongJae Park DAMON is a data access monitoring framework subsystem for the Linux kernel. The core mechanisms of DAMON make it - accurate (the monitoring output is useful enough for DRAM level memory management; It might not appropriate for CPU Cache levels, though), - light

[PATCH v20 02/15] mm/damon: Implement region based sampling

2020-08-17 Thread SeongJae Park
From: SeongJae Park DAMON separates its monitoring target address space independent high level logics from the target space dependent low level primitives for flexible support of various address spaces. This commit implements DAMON's target address space independent high level logics for basic

[PATCH v20 00/15] Introduce Data Access MONitor (DAMON)

2020-08-17 Thread SeongJae Park
From: SeongJae Park Changes from Previous Version = - Place 'CREATE_TRACE_POINTS' after '#include' statements (Steven Rostedt) - Support large record file (Alkaid) - Place 'put_pid()' of virtual monitoring targets in 'cleanup' callback - Avoid conflict between

Re: [PATCH v19 02/15] mm/damon: Implement region based sampling

2020-08-14 Thread SeongJae Park
On Tue, 4 Aug 2020 11:14:03 +0200 SeongJae Park wrote: > From: SeongJae Park > > DAMON separates its monitoring target address space independent high > level logics from the target space dependent low level primitives for > flexible support of various address spaces. &

Re: [PATCH v19 09/15] mm/damon: Implement a debugfs interface

2020-08-10 Thread SeongJae Park
On Tue, 4 Aug 2020 11:14:10 +0200 SeongJae Park wrote: > From: SeongJae Park > > This commit implements a debugfs interface for DAMON. It works for the > virtual address spaces monitoring. [...] > + > +#define targetid_is_pid(ctx) \ > + (ctx->target_valid ==

Re: [RFC v6 00/10] DAMON: Support Physical Memory Address Space Monitoring

2020-08-06 Thread SeongJae Park
On Wed, 5 Aug 2020 08:59:41 +0200 SeongJae Park wrote: > From: SeongJae Park > > Changes from Previous Version > = > > - paddr: Support nested iomem sections (Du Fan) > - Rebase on v5.8 > > Introduction > > > DAMO

[RFC v6 10/10] Docs/DAMON: Document physical memory monitoring support

2020-08-05 Thread SeongJae Park
From: SeongJae Park This commit updates the DAMON documents for the physical memory monitoring support. Signed-off-by: SeongJae Park --- Documentation/admin-guide/mm/damon/usage.rst | 42 Documentation/vm/damon/design.rst| 29 +- Documentation/vm

[RFC v6 09/10] tools/damon/record: Support NUMA specific recording

2020-08-05 Thread SeongJae Park
From: SeongJae Park This commit updates the DAMON user space tool (damo-record) for NUMA specific physical memory monitoring. With this change, users can monitor accesses to physical memory of specific NUMA node. Signed-off-by: SeongJae Park --- tools/damon/_paddr_layout.py | 147

[RFC v6 08/10] tools/damon/record: Support physical memory monitoring

2020-08-05 Thread SeongJae Park
From: SeongJae Park This commit allows users to record the data accesses on physical memory address space by passing 'paddr' as target to 'damo-record'. If the init regions are given, the regions will be monitored. Else, it will monitor biggest conitguous 'System RAM' region in '/proc/iomem

[RFC v6 06/10] mm/damon: Implement callbacks for physical memory monitoring

2020-08-05 Thread SeongJae Park
From: SeongJae Park This commit implements the four callbacks (->init_target_regions, ->update_target_regions, ->prepare_access_check, and ->check_accesses) for the basic access monitoring of the physical memory address space. By setting the callback pointers to point those, user

[RFC v6 07/10] mm/damon/debugfs: Support physical memory monitoring

2020-08-05 Thread SeongJae Park
From: SeongJae Park This commit makes the debugfs interface to support the physical memory monitoring, in addition to the virtual memory monitoring. Users can do the physical memory monitoring by writing a special keyword, 'paddr\n' to the 'pids' debugfs file. Then, DAMON will check

[RFC v6 04/10] selftests/damon/_chk_record: Do not check number of gaps

2020-08-05 Thread SeongJae Park
From: SeongJae Park Now the regions can be explicitly set as users want. Therefore checking the number of gaps doesn't make sense. Remove the condition. Signed-off-by: SeongJae Park --- tools/testing/selftests/damon/_chk_record.py | 6 -- 1 file changed, 6 deletions(-) diff --git

[RFC v6 03/10] mm/damon-test: Add more unit tests for 'init_regions'

2020-08-05 Thread SeongJae Park
From: SeongJae Park This commit adds more test cases for the new feature, 'init_regions'. Signed-off-by: SeongJae Park --- mm/damon-test.h | 53 + 1 file changed, 53 insertions(+) diff --git a/mm/damon-test.h b/mm/damon-test.h index

[RFC v6 05/10] Docs/admin-guide/mm/damon: Document 'init_regions' feature

2020-08-05 Thread SeongJae Park
From: SeongJae Park This commit adds description of the 'init_regions' feature in the DAMON usage document. Signed-off-by: SeongJae Park --- Documentation/admin-guide/mm/damon/usage.rst | 41 +++- 1 file changed, 39 insertions(+), 2 deletions(-) diff --git a/Documentation

[RFC v6 01/10] mm/damon/debugfs: Allow users to set initial monitoring target regions

2020-08-05 Thread SeongJae Park
From: SeongJae Park Some users would want to monitor only a part of the entire virtual memory address space. The '->init_target_regions' callback is therefore provided, but only programming interface can use it. For the reason, this commit introduces a new debugfs file, 'init_region'. Us

[RFC v6 00/10] DAMON: Support Physical Memory Address Space Monitoring

2020-08-05 Thread SeongJae Park
From: SeongJae Park Changes from Previous Version = - paddr: Support nested iomem sections (Du Fan) - Rebase on v5.8 Introduction DAMON[1] programming interface users can extend DAMON for any address space by configuring the address-space specific low

[RFC v6 02/10] tools/damon: Support init target regions specification

2020-08-05 Thread SeongJae Park
From: SeongJae Park This commit updates the damon user space tool to support the initial monitoring target regions specification. Signed-off-by: SeongJae Park --- tools/damon/_damon.py | 39 +++ tools/damon/record.py | 12 +++- tools/damon

Re: [PATCH v19 08/15] mm/damon: Add a tracepoint

2020-08-05 Thread SeongJae Park
On Tue, 4 Aug 2020 18:01:47 -0400 Steven Rostedt wrote: > On Tue, 4 Aug 2020 11:14:09 +0200 > SeongJae Park wrote: > > > From: SeongJae Park > > > > This commit adds a tracepoint for DAMON. It traces the monitoring > > results of each region for each aggrega

[RFC v14 6/7] damon/tools: Support more human friendly 'schemes' control

2020-08-04 Thread SeongJae Park
From: SeongJae Park This commit implements 'schemes' subcommand of the damon userspace tool. It can be used to describe and apply the data access monitoring-based operation schemes in more human friendly fashion. Signed-off-by: SeongJae Park --- tools/damon/_convert_damos.py | 141

[RFC v14 7/7] Docs/admin-guide/mm/damon: Document DAMON-based Operation Schemes

2020-08-04 Thread SeongJae Park
From: SeongJae Park This commit add description of DAMON-based operation schemes in the DAMON documents. Signed-off-by: SeongJae Park --- Documentation/admin-guide/mm/damon/guide.rst | 41 ++- Documentation/admin-guide/mm/damon/start.rst | 11 ++ Documentation/admin-guide/mm/damon

[RFC v14 5/7] mm/damon/selftests: Add 'schemes' debugfs tests

2020-08-04 Thread SeongJae Park
From: SeongJae Park This commit adds simple selftets for 'schemes' debugfs file of DAMON. Signed-off-by: SeongJae Park --- .../testing/selftests/damon/debugfs_attrs.sh | 29 +++ 1 file changed, 29 insertions(+) diff --git a/tools/testing/selftests/damon/debugfs_attrs.sh b

[RFC v14 2/7] mm/damon: Implement data access monitoring-based operation schemes

2020-08-04 Thread SeongJae Park
From: SeongJae Park In many cases, users might use DAMON for simple data access aware memory management optimizations such as applying an operation scheme to a memory region of a specific size having a specific access frequency for a specific time. For example, "page out a memory region l

[RFC v14 4/7] mm/damon/schemes: Implement statistics feature

2020-08-04 Thread SeongJae Park
From: SeongJae Park To tune the DAMON-based operation schemes, knowing how many and how large regions are affected by each of the schemes will be helful. Those stats could be used for not only the tuning, but also monitoring of the working set size and the number of regions, if the scheme does

[RFC v14 3/7] mm/damon/schemes: Implement a debugfs interface

2020-08-04 Thread SeongJae Park
From: SeongJae Park This commit implements a debugfs interface for the data access monitoring oriented memory management schemes. It is supposed to be used by administrators and/or privileged user space programs. Users can read and update the rules using ``/damon/schemes`` file. The format

[RFC v14 1/7] mm/damon: Account age of target regions

2020-08-04 Thread SeongJae Park
From: SeongJae Park DAMON can be used as a primitive for data access pattern aware memory management optimizations. However, users who want such optimizations should run DAMON, read the monitoring results, analyze it, plan a new memory management scheme, and apply the new scheme by themselves

[RFC v14 0/7] Implement Data Access Monitoring-based Memory Operation Schemes

2020-08-04 Thread SeongJae Park
From: SeongJae Park Changes from Previous Version = - Drop loadable module support - Use dedicated valid action checker function - Rebase on v5.8 plus v19 DAMON Introduction DAMON[1] can be used as a primitive for data access awared memory management

[PATCH v19 14/15] mm/damon: Add user space selftests

2020-08-04 Thread SeongJae 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 +++ tools/testing/selftests/damon

[PATCH v19 15/15] MAINTAINERS: Update for DAMON

2020-08-04 Thread SeongJae Park
From: SeongJae Park This commit updates MAINTAINERS file for DAMON related files. Signed-off-by: SeongJae Park --- MAINTAINERS | 13 + 1 file changed, 13 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index 4e2698cc7e23..3d6050d693e3 100644 --- a/MAINTAINERS +++ b

[PATCH v19 12/15] Documentation: Add documents for DAMON

2020-08-04 Thread SeongJae 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 | 157 ++ Documentation/admin-guide/mm/damon/index.rst | 15

[PATCH v19 13/15] mm/damon: Add kunit tests

2020-08-04 Thread SeongJae Park
From: SeongJae Park This commit adds kunit based unit tests for DAMON. Signed-off-by: SeongJae Park Reviewed-by: Brendan Higgins --- mm/Kconfig | 11 + mm/damon-test.h | 671 mm/damon.c | 6 + 3 files changed, 688 insertions

[PATCH v19 11/15] tools: Introduce a minimal user-space tool for DAMON

2020-08-04 Thread SeongJae Park
From: SeongJae Park This commit imtroduces a shallow wrapper python script, ``/tools/damon/damo`` that provides more convenient interface. Note that it is only aimed to be used for minimal reference of the DAMON's debugfs interfaces and for debugging of the DAMON itself. Signed-off

[PATCH v19 09/15] mm/damon: Implement a debugfs interface

2020-08-04 Thread SeongJae Park
From: SeongJae Park This commit implements a debugfs interface for DAMON. It works for the virtual address spaces monitoring. DAMON exports four files, ``attrs``, ``target_ids``, ``record``, and ``monitor_on`` under its debugfs directory, ``/damon/``. Attributes -- Users can read

[PATCH v19 10/15] damon/debugfs: Support pidfd target id

2020-08-04 Thread SeongJae Park
From: SeongJae Park DAMON programming interface users are safe from pid recycling problem since it uses 'struct pid *' as target id. However, debugfs interface users might still get the problem since they should describe the target ids with pid numbers. This commit makes the debugfs interface

[PATCH v19 08/15] mm/damon: Add a tracepoint

2020-08-04 Thread SeongJae 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 v19 06/15] mm/damon: Implement callbacks for the virtual memory address spaces

2020-08-04 Thread SeongJae 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

[PATCH v19 07/15] mm/damon: Implement access pattern recording

2020-08-04 Thread SeongJae Park
From: SeongJae Park This commit implements the recording feature of DAMON. If this feature is enabled, DAMON writes the monitored access patterns in its binary format into a file which specified by the user. This is already able to be implemented by each user using the callbacks. However

[PATCH v19 04/15] mm/damon: Track dynamic monitoring target regions update

2020-08-04 Thread SeongJae Park
From: SeongJae Park The monitoring target address range can be dynamically changed. For example, virtual memory could be dynamically mapped and unmapped. Physical memory could be hot-plugged. As the changes could be quite frequent in some cases, DAMON checks the dynamic memory mapping changes

[PATCH v19 05/15] mm/idle_page_tracking: Make PG_(idle|young) reusable

2020-08-04 Thread SeongJae Park
From: SeongJae Park PG_idle and PG_young allows 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 and PG_idle to represent the previous state

[PATCH v19 01/15] mm: Introduce Data Access MONitor (DAMON)

2020-08-04 Thread SeongJae Park
From: SeongJae Park DAMON is a data access monitoring framework subsystem for the Linux kernel. The core mechanisms of DAMON make it - accurate (the monitoring output is useful enough for DRAM level memory management; It might not appropriate for CPU Cache levels, though), - light

[PATCH v19 03/15] mm/damon: Adaptively adjust regions

2020-08-04 Thread SeongJae 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 v19 02/15] mm/damon: Implement region based sampling

2020-08-04 Thread SeongJae Park
From: SeongJae Park DAMON separates its monitoring target address space independent high level logics from the target space dependent low level primitives for flexible support of various address spaces. This commit implements DAMON's target address space independent high level logics for basic

[PATCH v19 00/15] Introduce Data Access MONitor (DAMON)

2020-08-04 Thread SeongJae Park
From: SeongJae Park Changes from Previous Version = - Drop loadable module support (Mike Rapoport) - Select PAGE_EXTENSION if !64BIT for 'set_page_young()' - Take care of the MMU notification subscribers (Shakeel Butt) - Substitute 'struct damon_task' with 'struct

Re: Re: Re: [PATCH v18 02/14] mm: Introduce Data Access MONitor (DAMON)

2020-07-29 Thread SeongJae Park
On Wed, 29 Jul 2020 08:31:29 -0700 Shakeel Butt wrote: > On Sat, Jul 18, 2020 at 6:31 AM SeongJae Park wrote: > > > > On Fri, 17 Jul 2020 19:47:50 -0700 Shakeel Butt wrote: > > > > > On Mon, Jul 13, 2020 at 1:43 AM SeongJae Park wrote: >

Re: Re: Re: [PATCH v18 06/14] mm/damon: Implement callbacks for the virtual memory address spaces

2020-07-29 Thread SeongJae Park
On Tue, 28 Jul 2020 10:42:11 -0700 Shakeel Butt wrote: > On Mon, Jul 27, 2020 at 2:03 AM SeongJae Park wrote: > > > > On Mon, 27 Jul 2020 00:34:54 -0700 Greg Thelen wrote: > > > > > SeongJae Park wrote: > > > > > > > From: SeongJae Park

Re: checkpatch: support deprecated terms checking

2020-07-28 Thread SeongJae Park
On Mon, 27 Jul 2020 13:49:00 -0700 Joe Perches wrote: > On Mon, 2020-07-27 at 13:44 -0700, Andrew Morton wrote: > > On Mon, 27 Jul 2020 08:54:41 +0200 SeongJae Park wrote: > > > > > > > > Unfortunately, the inexperienced _do_ in fact run > > > > >

Re: Re: [PATCH v18 06/14] mm/damon: Implement callbacks for the virtual memory address spaces

2020-07-27 Thread SeongJae Park
On Mon, 27 Jul 2020 00:34:54 -0700 Greg Thelen wrote: > SeongJae Park wrote: > > > From: SeongJae Park > > > > This commit introduces a reference implementation of the address space > > specific low level primitives for the virtual address space, so that > &g

Re: Re: [PATCH v18 11/14] Documentation: Add documents for DAMON

2020-07-27 Thread SeongJae Park
On Mon, 27 Jul 2020 00:19:00 -0700 Greg Thelen wrote: > SeongJae Park wrote: > > > From: SeongJae Park > > > > This commit adds documents for DAMON under > > `Documentation/admin-guide/mm/damon/` and `Documentation/vm/damon/`. > > > > Signed-off-by:

Re: checkpatch: support deprecated terms checking

2020-07-27 Thread SeongJae Park
On Sun, 26 Jul 2020 22:33:28 +0200 "Michał Mirosław" wrote: > On Sun, Jul 26, 2020 at 08:07:48PM +0200, SeongJae Park wrote: > > On Sun, 26 Jul 2020 09:42:06 -0700 Joe Perches wrote: > > > > > On Sun, 2020-07-26 at 17:36 +0200, SeongJae Park wrote: > >

Re: Re: Re: Re: Re: checkpatch: support deprecated terms checking

2020-07-26 Thread SeongJae Park
On Sun, 26 Jul 2020 09:42:06 -0700 Joe Perches wrote: > On Sun, 2020-07-26 at 17:36 +0200, SeongJae Park wrote: > > On Sun, 26 Jul 2020 07:50:54 -0700 Joe Perches wrote: > [] > > > I do not want to encourage relatively inexperienced people > > > to run check

Re: Re: Re: Re: Re: checkpatch: support deprecated terms checking

2020-07-26 Thread SeongJae Park
On Sun, 26 Jul 2020 07:50:54 -0700 Joe Perches wrote: > On Sun, 2020-07-26 at 09:45 +0200, SeongJae Park wrote: > > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl > [] > > @@ -721,6 +721,7 @@ sub read_word_corrections { > > my %deprecated_terms_fix; &g

Re: Re: Re: Re: checkpatch: support deprecated terms checking

2020-07-26 Thread SeongJae Park
On Sun, 26 Jul 2020 00:29:05 -0700 Joe Perches wrote: > On Sun, 2020-07-26 at 09:18 +0200, SeongJae Park wrote: > > On Sat, 25 Jul 2020 21:27:07 -0700 Joe Perches wrote: > > > > > On Sun, 2020-07-26 at 01:35 +0200, SeongJae Park wrote: > > > > On Sat, 25

Re: Re: Re: checkpatch: support deprecated terms checking

2020-07-26 Thread SeongJae Park
On Sat, 25 Jul 2020 21:27:07 -0700 Joe Perches wrote: > On Sun, 2020-07-26 at 01:35 +0200, SeongJae Park wrote: > > On Sat, 25 Jul 2020 10:29:23 -0700 Joe Perches wrote: > > > > > On Sat, 2020-07-25 at 15:02 +0200, Michał Mirosław wrote: > > > > Hello, &g

Re: Re: checkpatch: support deprecated terms checking

2020-07-25 Thread SeongJae Park
e message to > show only suggestions not from a specification. Agreed for this case. However, excluding existing file check doesn't fully avoid this problem. Also, more terms having different deprecation rules might be added in future. How about allowing file check but

Re: [PATCH v18 09/14] mm/damon: Implement a debugfs interface

2020-07-22 Thread SeongJae Park
On Mon, 13 Jul 2020 10:41:39 +0200 SeongJae Park wrote: > From: SeongJae Park > > This commit implements a debugfs interface for DAMON. It works for the > virtual address spaces monitoring. > [...] > +/* > + * Converts a string into an array of unsigned long integer

Re: Re: Upstream fixes not merged in 5.4.y

2020-07-20 Thread SeongJae Park
On Mon, 20 Jul 2020 14:15:43 +0200 Greg KH wrote: > On Mon, Jun 29, 2020 at 04:28:05PM +0200, SeongJae Park wrote: > > Hello, > > > > > > With my little script, I found below commits in the mainline tree are more > > than > > 1 week old and fixing co

Re: Re: [PATCH v18 02/14] mm: Introduce Data Access MONitor (DAMON)

2020-07-18 Thread SeongJae Park
On Fri, 17 Jul 2020 19:47:50 -0700 Shakeel Butt wrote: > On Mon, Jul 13, 2020 at 1:43 AM SeongJae Park wrote: > > > > From: SeongJae Park > > > > DAMON is a data access monitoring framework subsystem for the Linux > > kernel. The core mechanisms of

Re: Re: Re: Re: [PATCH v18 06/14] mm/damon: Implement callbacks for the virtual memory address spaces

2020-07-17 Thread SeongJae Park
On Fri, 17 Jul 2020 19:23:28 -0700 Shakeel Butt wrote: > On Fri, Jul 17, 2020 at 9:24 AM SeongJae Park wrote: > > > > On Fri, 17 Jul 2020 08:17:09 -0700 Shakeel Butt wrote: > > > > > On Thu, Jul 16, 2020 at 11:54 PM SeongJae Park wrote: > > > >

Re: Re: Re: [PATCH v18 06/14] mm/damon: Implement callbacks for the virtual memory address spaces

2020-07-17 Thread SeongJae Park
On Fri, 17 Jul 2020 08:17:09 -0700 Shakeel Butt wrote: > On Thu, Jul 16, 2020 at 11:54 PM SeongJae Park wrote: > > > > On Thu, 16 Jul 2020 17:46:54 -0700 Shakeel Butt wrote: > > > > > On Mon, Jul 13, 2020 at 1:44 AM SeongJae Park wrote: >

Re: Re: Re: Re: [PATCH v18 01/14] mm/page_ext: Export lookup_page_ext() to GPL modules

2020-07-17 Thread SeongJae Park
On Mon, 13 Jul 2020 19:38:05 +0200 SeongJae Park wrote: > On Mon, 13 Jul 2020 20:19:09 +0300 Mike Rapoport wrote: > > > On Mon, Jul 13, 2020 at 02:21:43PM +0200, SeongJae Park wrote: > > > On Mon, 13 Jul 2020 15:08:42 +0300 Mike Rapoport wrote: > > > > >

Re: Re: [PATCH v18 06/14] mm/damon: Implement callbacks for the virtual memory address spaces

2020-07-17 Thread SeongJae Park
On Thu, 16 Jul 2020 17:46:54 -0700 Shakeel Butt wrote: > On Mon, Jul 13, 2020 at 1:44 AM SeongJae Park wrote: > > > > From: SeongJae Park > > > > This commit introduces a reference implementation of the address space > > specific low level primitives

Re: [PATCH] mm: drop duplicated words in

2020-07-16 Thread SeongJae Park
On 2020-07-15T18:29:51-07:00 Randy Dunlap wrote: > From: Randy Dunlap > > Drop the doubled words "used" and "by". > > Drop the repeated acronym "TLB" and make several other fixes around it. > (capital letters, spellos) > > Signed-off-b

Re: [PATCH] linux/sched/mm.h: drop duplicated words in comments

2020-07-16 Thread SeongJae Park
On 2020-07-15T18:30:31-07:00 Randy Dunlap wrote: > From: Randy Dunlap > > Drop doubled words "to" and "that". > > Signed-off-by: Randy Dunlap Reviewed-by: SeongJae Park Thanks, SeongJae Park > Cc: Ingo Molnar > Cc: Peter Zijlstra >

Re: [PATCH] mm: drop duplicated words in

2020-07-16 Thread SeongJae Park
On 2020-07-15T18:29:43-07:00 Randy Dunlap wrote: > From: Randy Dunlap > > Drop the doubled words "to" and "the". > > Signed-off-by: Randy Dunlap > Cc: Andrew Morton > Cc: linux...@kvack.org Reviewed-by: SeongJae Park Thanks, SeongJae Park >

Re: [PATCH v2 8/8] scripts/spelling.txt: Add descriptors correction

2020-07-15 Thread SeongJae Park
rm. > > Signed-off-by: Kieran Bingham Reviewed-by: SeongJae Park Thanks, SeongJae Park > > --- > v2: > - Use both singular and plural form. > --- > scripts/spelling.txt | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/scripts/spelling

Re: Re: Re: [PATCH v18 01/14] mm/page_ext: Export lookup_page_ext() to GPL modules

2020-07-13 Thread SeongJae Park
On Mon, 13 Jul 2020 20:19:09 +0300 Mike Rapoport wrote: > On Mon, Jul 13, 2020 at 02:21:43PM +0200, SeongJae Park wrote: > > On Mon, 13 Jul 2020 15:08:42 +0300 Mike Rapoport wrote: > > > > > Hi, > > > > > > On Mon, Jul 13, 2020 at 10:41:31AM +0200, S

Re: Re: [PATCH v18 01/14] mm/page_ext: Export lookup_page_ext() to GPL modules

2020-07-13 Thread SeongJae Park
On Mon, 13 Jul 2020 15:08:42 +0300 Mike Rapoport wrote: > Hi, > > On Mon, Jul 13, 2020 at 10:41:31AM +0200, SeongJae Park wrote: > > From: SeongJae Park > > > > This commit exports 'lookup_page_ext()' to GPL modules. It will be used > > by DAMON in follow

[PATCH v18 14/14] MAINTAINERS: Update for DAMON

2020-07-13 Thread SeongJae Park
From: SeongJae Park This commit updates MAINTAINERS file for DAMON related files. Signed-off-by: SeongJae Park --- MAINTAINERS | 13 + 1 file changed, 13 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index 50659d76976b..23348005f5bd 100644 --- a/MAINTAINERS +++ b

[PATCH v18 11/14] Documentation: Add documents for DAMON

2020-07-13 Thread SeongJae 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 | 157 ++ Documentation/admin-guide/mm/damon/index.rst | 15

[PATCH v18 13/14] mm/damon: Add user space selftests

2020-07-13 Thread SeongJae 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 tools/testing/selftests/damon

[PATCH v18 12/14] mm/damon: Add kunit tests

2020-07-13 Thread SeongJae Park
From: SeongJae Park This commit adds kunit based unit tests for DAMON. Signed-off-by: SeongJae Park Reviewed-by: Brendan Higgins --- mm/Kconfig | 11 + mm/damon-test.h | 661 mm/damon.c | 6 + 3 files changed, 678 insertions

[PATCH v18 09/14] mm/damon: Implement a debugfs interface

2020-07-13 Thread SeongJae Park
From: SeongJae Park This commit implements a debugfs interface for DAMON. It works for the virtual address spaces monitoring. DAMON exports four files, ``attrs``, ``pids``, ``record``, and ``monitor_on`` under its debugfs directory, ``/damon/``. Attributes -- Users can read and write

[PATCH v18 10/14] tools: Introduce a minimal user-space tool for DAMON

2020-07-13 Thread SeongJae Park
From: SeongJae Park This commit imtroduces a shallow wrapper python script, ``/tools/damon/damo`` that provides more convenient interface. Note that it is only aimed to be used for minimal reference of the DAMON's debugfs interfaces and for debugging of the DAMON itself. Signed-off

[PATCH v18 08/14] mm/damon: Add a tracepoint

2020-07-13 Thread SeongJae 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 v18 06/14] mm/damon: Implement callbacks for the virtual memory address spaces

2020-07-13 Thread SeongJae 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

[PATCH v18 05/14] mm/damon: Track dynamic monitoring target regions update

2020-07-13 Thread SeongJae Park
From: SeongJae Park The monitoring target address range can be dynamically changed. For example, virtual memory could be dynamically mapped and unmapped. Physical memory could be hot-plugged. As the changes could be quite frequent in some cases, DAMON checks the dynamic memory mapping changes

[PATCH v18 07/14] mm/damon: Implement access pattern recording

2020-07-13 Thread SeongJae Park
From: SeongJae Park This commit implements the recording feature of DAMON. If this feature is enabled, DAMON writes the monitored access patterns in its binary format into a file which specified by the user. This is already able to be implemented by each user using the callbacks. However

[PATCH v18 03/14] mm/damon: Implement region based sampling

2020-07-13 Thread SeongJae Park
From: SeongJae Park DAMON separates its monitoring target address space independent high level logics from the target space dependent low level primitives for flexible support of various address spaces. This commit implements DAMON's target address space independent high level logics for basic

[PATCH v18 01/14] mm/page_ext: Export lookup_page_ext() to GPL modules

2020-07-13 Thread SeongJae Park
From: SeongJae Park This commit exports 'lookup_page_ext()' to GPL modules. It will be used by DAMON in following commit for the implementation of the region based sampling. Signed-off-by: SeongJae Park Reviewed-by: Leonard Foerster Reviewed-by: Varad Gautam --- mm/page_ext.c | 1 + 1 file

[PATCH v18 04/14] mm/damon: Adaptively adjust regions

2020-07-13 Thread SeongJae 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 v18 02/14] mm: Introduce Data Access MONitor (DAMON)

2020-07-13 Thread SeongJae Park
From: SeongJae Park DAMON is a data access monitoring framework subsystem for the Linux kernel. The core mechanisms of DAMON make it - accurate (the monitoring output is useful enough for DRAM level memory management; It might not appropriate for CPU Cache levels, though), - light

[PATCH v18 00/14] Introduce Data Access MONitor (DAMON)

2020-07-13 Thread SeongJae Park
From: SeongJae Park Changes from Previous Version = - Reorganize the doc and remove png blobs (Mike Rapoport) - Wordsmith mechnisms doc and commit messages - tools/wss: Set default working set access frequency threshold - Avoid race in damon deamon start

[PATCH] scripts/deprecated_terms: Sync with inclusive terms

2020-07-13 Thread SeongJae Park
From: SeongJae Park # NOTE: this patch is based on next/master, as this is a followup of # commit 0d8b43e5876a ("scripts/deprecated_terms: recommend # denylist/allowlist instead of blacklist/whitelist"), which merged in # next tree only. Commit a5f526ecb075 ("CodingStyle: Inclus

Re: Re: [Ksummit-discuss] [PATCH] CodingStyle: Inclusive Terminology

2020-07-08 Thread SeongJae Park
On Wed, 8 Jul 2020 00:12:03 -0700 Dan Williams wrote: > On Mon, Jul 6, 2020 at 11:56 PM SeongJae Park wrote: > > > > Hello, > > > > On Sat, 04 Jul 2020 13:02:51 -0700 Dan Williams > > wrote: > > > > > Recent events have prompted a Linux position

[RFC v5 11/11] Docs/damon: Document physical memory monitoring support

2020-07-07 Thread SeongJae Park
From: SeongJae Park This commit adds description for the physical memory monitoring usage in the DAMON document. Signed-off-by: SeongJae Park --- Documentation/admin-guide/mm/damon/faq.rst| 7 ++- Documentation/admin-guide/mm/damon/index.rst | 1 - .../admin-guide/mm/damon

[RFC v5 09/11] tools/damon/record: Support physical memory monitoring

2020-07-07 Thread SeongJae Park
From: SeongJae Park This commit allows users to record the data accesses on physical memory address space by passing 'paddr' as target to 'damo-record'. If the init regions are given, the regions will be monitored. Else, it will monitor biggest conitguous 'System RAM' region in '/proc/iomem

[RFC v5 10/11] tools/damon/record: Support NUMA specific recording

2020-07-07 Thread SeongJae Park
From: SeongJae Park This commit updates the DAMON user space tool (damo-record) for NUMA specific physical memory monitoring. With this change, users can monitor accesses to physical memory of specific NUMA node. Signed-off-by: SeongJae Park --- tools/damon/_paddr_layout.py | 158

[RFC v5 08/11] mm/damon/debugfs: Support physical memory monitoring

2020-07-07 Thread SeongJae Park
From: SeongJae Park This commit makes the debugfs interface to support the physical memory monitoring, in addition to the virtual memory monitoring. Users can do the physical memory monitoring by writing a special keyword, 'paddr\n' to the 'pids' debugfs file. Then, DAMON will check

[RFC v5 05/11] Docs/damon: Document 'initial_regions' feature

2020-07-07 Thread SeongJae Park
From: SeongJae Park This commit documents the 'initial_regions' feature. Signed-off-by: SeongJae Park --- Documentation/admin-guide/mm/damon/usage.rst | 35 1 file changed, 35 insertions(+) diff --git a/Documentation/admin-guide/mm/damon/usage.rst b/Documentation/admin

[RFC v5 07/11] mm/damon: Implement callbacks for physical memory monitoring

2020-07-07 Thread SeongJae Park
From: SeongJae Park This commit implements the four callbacks (->init_target_regions, ->update_target_regions, ->prepare_access_check, and ->check_accesses) for the basic access monitoring of the physical memory address space. By setting the callback pointers to point those, user

[RFC v5 06/11] mm/rmap: Export essential functions for rmap_run

2020-07-07 Thread SeongJae Park
From: SeongJae Park This commit exports the three essential functions for ramp walk, 'page_lock_anon_vma_read()', 'rmap_walk()', and 'page_rmapping()', to GPL modules. Those will be used by DAMON for the physical memory address based access monitoring in the following commit. Signed-off

<    1   2   3   4   5   6   7   8   9   10   >