[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 RA

[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,

[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/Documenta

[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 fo

[RFC v5 04/11] selftests/damon/_chk_record: Do not check number of gaps

2020-07-07 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 --

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

2020-07-07 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-te

[RFC v5 02/11] tools/damon: Support init target regions specification

2020-07-07 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

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

2020-07-07 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, 'in

[RFC v5 00/11] DAMON: Support Physical Memory Address Space Monitoring

2020-07-07 Thread SeongJae Park
From: SeongJae Park DAMON[1] programming interface users can extend DAMON for any address space by configuring the address-space specific low level primitives with appropriate ones including their own implementations. However, because the implementation for the virtual address space is only

[RFC v13 8/8] Documentation/admin-guide/mm: Document DAMON-based operation schemes

2020-07-07 Thread SeongJae Park
From: SeongJae Park This commit documents DAMON-based operation schemes in the DAMON document. Signed-off-by: SeongJae Park --- Documentation/admin-guide/mm/damon/guide.rst | 41 +- Documentation/admin-guide/mm/damon/plans.rst | 24 +--- Documentation/admin-guide/mm/damon/start.rst

[RFC v13 7/8] damon/tools: Support more human friendly 'schemes' control

2020-07-07 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_damo

[RFC v13 6/8] mm/damon/selftests: Add 'schemes' debugfs tests

2020-07-07 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_a

[RFC v13 5/8] mm/damon/schemes: Implement statistics feature

2020-07-07 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 v13 3/8] mm/damon: Implement data access monitoring-based operation schemes

2020-07-07 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 v13 2/8] mm/damon: Account age of target regions

2020-07-07 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 v13 4/8] mm/damon/schemes: Implement a debugfs interface

2020-07-07 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 is

[RFC v13 0/8] Implement Data Access Monitoring-based Memory Operation Schemes

2020-07-07 Thread SeongJae Park
From: SeongJae Park Changes from Previous Version = - Wordsmith the document, comment, commit messages - Support a scheme of max access count 0 - Use 'unsigned long' for (min|max)_sz_region Introduction DAMON[1] can be used as a primitiv

[RFC v13 1/8] mm/madvise: Export do_madvise() to external GPL modules

2020-07-07 Thread SeongJae Park
From: SeongJae Park This commit exports 'do_madvise()' to external GPL modules, so that other modules including DAMON could use the function. Signed-off-by: SeongJae Park --- mm/madvise.c | 1 + 1 file changed, 1 insertion(+) diff --git a/mm/madvise.c b/mm/madvise.c index 1a

Re: Re: [PATCH v17 12/15] Documentation/admin-guide/mm: Add a document for DAMON

2020-07-07 Thread SeongJae Park
On Tue, 7 Jul 2020 10:49:06 +0300 Mike Rapoport wrote: > Hello SeongJae, > > On Mon, Jul 06, 2020 at 01:53:19PM +0200, SeongJae Park wrote: > > From: SeongJae Park > > > > This commit adds a document for DAMON under > > `Documentation/admin-guide/mm/damon/`.

Re: [PATCH v17 03/15] mm/damon: Implement region based sampling

2020-07-07 Thread SeongJae Park
On Mon, 6 Jul 2020 13:53:10 +0200 SeongJae Park wrote: > From: SeongJae Park > > This commit implements DAMON's target address space independent high > level logics for basic access check and region based sampling. This > doesn't work alone, but needs the target a

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

2020-07-06 Thread SeongJae Park
replace non-inclusive terminology. I'm glad to see this patch. > > Cc: Jonathan Corbet > Cc: Kees Cook > Signed-off-by: Chris Mason > Signed-off-by: Greg Kroah-Hartman > Signed-off-by: Dan Williams Acked-by: SeongJae Park > --- > Documentation/process/coding-style.

Re: [PATCH] Documentation: kunit: Remove references to --defconfig

2020-07-06 Thread SeongJae Park
b35117cc10813d24e1842cd8ee40ecbf19 > [2]: > https://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest.git/commit/?h=kunit-fixes&id=14ee5cfd4512ee3d1e0047d8751450dcc6544070 > > Signed-off-by: David Gow Reviewed-by: SeongJae Park Thanks, SeongJae Park

Re: [PATCH v17 11/15] tools/damon/wss: Implement '--thres' option

2020-07-06 Thread SeongJae Park
On Mon, 6 Jul 2020 13:53:18 +0200 SeongJae Park wrote: > From: SeongJae Park > > Currently, 'wss' treats every region as working set if accessed at least > once. Someone who want to know performance important working set only > would want to ignore regions ha

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

2020-07-06 Thread SeongJae 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 50659d76976b..2396a9098715 100644 --- a/MAINTAINERS +++ b

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

2020-07-06 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 v17 13/15] mm/damon: Add kunit tests

2020-07-06 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 v17 10/15] tools: Introduce a minimal user-space tool for DAMON

2020-07-06 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-o

[PATCH v17 11/15] tools/damon/wss: Implement '--thres' option

2020-07-06 Thread SeongJae Park
From: SeongJae Park Currently, 'wss' treats every region as working set if accessed at least once. Someone who want to know performance important working set only would want to ignore regions having low access frequency. '--thres' option can be used to set the minimal acc

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

2020-07-06 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 v17 09/15] mm/damon: Implement a debugfs interface

2020-07-06 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 v17 07/15] mm/damon: Implement access pattern recording

2020-07-06 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, as

[PATCH v17 05/15] mm/damon: Track dynamic monitoring target regions update

2020-07-06 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 v17 06/15] mm/damon: Implement callbacks for the virtual memory address spaces

2020-07-06 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. Now users can easily monitor the data accesses on virtual address spaces of specific processes by simply configuring the implementation to be

[PATCH v17 04/15] mm/damon: Adaptively adjust regions

2020-07-06 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 v17 03/15] mm/damon: Implement region based sampling

2020-07-06 Thread SeongJae Park
From: SeongJae Park This commit implements DAMON's target address space independent high level logics for basic access check and region based sampling. This doesn't work alone, but needs the target address space specific low level pritimives implementation for the monitoring targ

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

2020-07-06 Thread SeongJae Park
From: SeongJae Park Changes from Previous Version = - Wordsmith/cleanup the documentations and the code - user space tool: Cleanup and add an option for reuse histogram (patch 11) - recording: Check disablement condition properly - recording: Force minimal recording

[PATCH v17 01/15] mm/page_ext: Export lookup_page_ext() to GPL modules

2020-07-06 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

[PATCH v17 02/15] mm: Introduce Data Access MONitor (DAMON)

2020-07-06 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

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

2020-06-29 Thread SeongJae Park
On Mon, 29 Jun 2020 18:15:42 +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

Upstream fixes not merged in 5.4.y

2020-06-29 Thread SeongJae Park
d35d3660e065 ("binder: fix null deref of proc->context") The script found several more commits but I exclude those here, because those seems not applicable on 5.4.y or fixing trivial problems only. If I'm not following a proper process for this kind of reports, please let me know. Thanks, SeongJae Park

[PATCH v2] scsi: lpfc: Avoid another null dereference in lpfc_sli4_hba_unset()

2020-06-24 Thread SeongJae Park
From: SeongJae Park Commit cdb42becdd40 ("scsi: lpfc: Replace io_channels for nvme and fcp with general hdw_queues per cpu") has introduced static checker warnings for potential null dereferences in 'lpfc_sli4_hba_unset()' and commit 1ffdd2c0440d ("scsi: lpfc: resolve

Re: linux-next: Fixes tag needs some work in the scsi-fixes tree

2020-06-24 Thread SeongJae Park
quot;)' Oops, sorry for the mistake. I will send the fixed version in reply to this. Thanks, SeongJae Park > > -- > Cheers, > Stephen Rothwell

[PATCH] scsi: lpfc: Avoid another null dereference in lpfc_sli4_hba_unset()

2020-06-23 Thread SeongJae Park
From: SeongJae Park Commit cdb42becdd40 ("scsi: lpfc: Replace io_channels for nvme and fcp with general hdw_queues per cpu") has introduced static checker warnings for potential null dereferences in 'lpfc_sli4_hba_unset()' and commit 1ffdd2c0440d ("scsi: lpfc: resolve

Re: [PATCH v16 00/14] Introduce Data Access MONitor (DAMON)

2020-06-22 Thread SeongJae Park
Last week, this patchset received 5 'Reviewed-by' tags, but no further comments for changes. I updated the documentation, but the change is only small. For the reason, I'm only asking more reviews rather than posting the whole series again. Any comment is welcome. Thanks, SeongJae Park

Re: [RFC v4 0/8] DAMON: Support Access Monitoring of Any Address Space Including Physical Memory

2020-06-16 Thread SeongJae Park
vide the reference primitive implementations for the physical memory - Connect the extensions with the debugfs interface SeongJae Park (8): mm/damon/debugfs: Allow users to set initial monitoring target regions tools/damon: Implement init target regions feature Docs/damon: Document 'i

[RFC v4 8/8] Docs/damon: Document physical memory monitoring support

2020-06-16 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 - Documentation/admin-guide/mm/damon

[RFC v4 7/8] tools/damon/record: Support physical memory address spce

2020-06-16 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 RA

[RFC v4 6/8] mm/damon/debugfs: Support physical memory monitoring

2020-06-16 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,

[RFC v4 5/8] mm/damon: Implement callbacks for physical memory monitoring

2020-06-16 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 v4 4/8] mm/rmap: Export essential functions for rmap_run

2020-06-16 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 fo

[RFC v4 3/8] Docs/damon: Document 'initial_regions' feature

2020-06-16 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 | 34 1 file changed, 34 insertions(+) diff --git a/Documentation/admin-guide/mm/damon/usage.rst b/Documenta

[RFC v4 2/8] tools/damon: Implement init target regions feature

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

[RFC v4 1/8] mm/damon/debugfs: Allow users to set initial monitoring target regions

2020-06-16 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, 'in

[RFC v4 0/8] DAMON: Support Access Monitoring of Any Address Space Including Physical Memory

2020-06-16 Thread SeongJae Park
From: SeongJae Park Currently, DAMON[1] supports only virtual memory address spaces because it utilizes PTE Accessed bits as its low-level access check primitive and ``struct vma`` as a way to address the monitoring target regions. However, the core idea of DAMON, which makes it able to provide

[RFC v12 8/8] Documentation/admin-guide/mm: Document DAMON-based operation schemes

2020-06-16 Thread SeongJae Park
From: SeongJae Park This commit documents DAMON-based operation schemes in the DAMON document. Signed-off-by: SeongJae Park --- Documentation/admin-guide/mm/damon/guide.rst | 35 + Documentation/admin-guide/mm/damon/plans.rst | 23 +--- Documentation/admin-guide/mm/damon/usage.rst | 127

[RFC v12 5/8] mm/damon/schemes: Implement statistics feature

2020-06-16 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 v12 6/8] mm/damon/selftests: Add 'schemes' debugfs tests

2020-06-16 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_a

[RFC v12 7/8] damon/tools: Support more human friendly 'schemes' control

2020-06-16 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_damo

[RFC v12 4/8] mm/damon/schemes: Implement a debugfs interface

2020-06-16 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 is

[RFC v12 2/8] mm/damon: Account age of target regions

2020-06-16 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 v12 3/8] mm/damon: Implement data access monitoring-based operation schemes

2020-06-16 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 v12 1/8] mm/madvise: Export do_madvise() to external GPL modules

2020-06-16 Thread SeongJae Park
From: SeongJae Park This commit exports 'do_madvise()' to external GPL modules, so that other modules including DAMON could use the function. Signed-off-by: SeongJae Park --- mm/madvise.c | 1 + 1 file changed, 1 insertion(+) diff --git a/mm/madvise.c b/mm/madvise.c index 1a

[RFC v12 0/8] Implement Data Access Monitoring-based Memory Operation Schemes

2020-06-16 Thread SeongJae Park
From: SeongJae Park DAMON[1] can be used as a primitive for data access awared memory management optimizations. For that, 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

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

2020-06-15 Thread SeongJae 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 50659d76976b..2396a9098715 100644 --- a/MAINTAINERS +++ b

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

2020-06-15 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 v16 12/14] mm/damon: Add kunit tests

2020-06-15 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 | 660 mm/damon.c | 6 + 3 files changed, 677 insertions

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

2020-06-15 Thread SeongJae Park
From: SeongJae Park This commit adds 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-by: SeongJae

[PATCH v16 09/14] mm/damon: Add debugfs interface

2020-06-15 Thread SeongJae Park
From: SeongJae Park This commit adds 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 the

[PATCH v16 08/14] mm/damon: Add tracepoints

2020-06-15 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 will be easily integrated with any tracepoints supporting tools such as perf. Signed-off-by: SeongJae Park Reviewed-by: Leonard

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

2020-06-15 Thread SeongJae Park
From: SeongJae Park This commit implements the four essential callbacks of DAMON, '->init_target_regions', '->update_target_regions', '->prepare_access_checks', and '->check_accesses' for virtual memory address spaces. Those internally use

[PATCH v16 05/14] mm/damon: Allow dynamic monitoring target regions update

2020-06-15 Thread SeongJae Park
From: SeongJae Park The monitoring target regions can be dynamically changed. For example, virtual memory mapping could be dynamically updated and physical memory could be hot-plugged. To handle such cases, this commit adds a monitoring attribute, ``regions update interval`` and a callback

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

2020-06-15 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, as

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

2020-06-15 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 v16 01/14] mm/page_ext: Export lookup_page_ext() to GPL modules

2020-06-15 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

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

2020-06-15 Thread SeongJae Park
From: SeongJae Park This commit implements DAMON's target address space independent high level logics for basic access check and region based sampling. The target address space specific logics for the monitoring target address regions construction and the access check are required, though.

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

2020-06-15 Thread SeongJae Park
From: SeongJae Park This commit introduces a kernel module named DAMON. Note that this commit is implementing only the stub for the module load/unload, basic data structures, and simple manipulation functions of the structures to keep the size of commit small. The core mechanisms of DAMON will

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

2020-06-15 Thread SeongJae Park
From: SeongJae Park Introduction DAMON is a data access monitoring framework subsystem 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 o

Re: Re: [PATCH v4 0/2] Recommend denylist/allowlist instead of blacklist/whitelist

2020-06-14 Thread SeongJae Park
"list of hardware that is broken in some > way"... Neither 'blocklist' nor 'denylist' fit that usage. Agreed, 'denylist' would also not fit in there. That said, this patchset will warn even such case so that people can think once again and find better term. So, I agree this patch is imperfect for many cases, but better than nothing. Thanks, SeongJae Park

Re: Re: [PATCH v4 0/2] Recommend denylist/allowlist instead of blacklist/whitelist

2020-06-11 Thread SeongJae Park
On Thu, 11 Jun 2020 03:43:32 -0700 Joe Perches wrote: > On Thu, 2020-06-11 at 10:32 +0200, Jiri Slaby wrote: > > On 11. 06. 20, 10:30, SeongJae Park wrote: > > > For example, as it seems at least you and I agree on the f-word to hug > > > replacement, we cou

Re: Re: [PATCH v4 0/2] Recommend denylist/allowlist instead of blacklist/whitelist

2020-06-11 Thread SeongJae Park
On Thu, 11 Jun 2020 10:16:09 +0200 Jiri Slaby wrote: > On 11. 06. 20, 9:38, SeongJae Park wrote: > > On Wed, 10 Jun 2020 23:35:24 -0700 Joe Perches wrote: > > > >> On Thu, 2020-06-11 at 08:25 +0200, SeongJae Park wrote: > >>> From: SeongJae Park > >

Re: Re: [PATCH v4 0/2] Recommend denylist/allowlist instead of blacklist/whitelist

2020-06-11 Thread SeongJae Park
On Wed, 10 Jun 2020 23:35:24 -0700 Joe Perches wrote: > On Thu, 2020-06-11 at 08:25 +0200, SeongJae Park wrote: > > From: SeongJae Park > > > > This patchset 1) adds support of deprecated terms in the 'checkpatch.pl' > > and 2) set the 'bla

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

2020-06-11 Thread SeongJae Park
On Wed, 10 Jun 2020 22:36:00 +0200 wrote: > On 6/8/20 1:40 PM, SeongJae Park wrote: > > From: SeongJae Park > > > > This commit implements DAMON's basic access check and region based > > sampling mechanisms. This change would seems make no sense, mainly >

[PATCH v4 2/2] scripts/deprecated_terms: Recommend denylist/allowlist instead of blacklist/whitelist

2020-06-10 Thread SeongJae Park
From: SeongJae Park This commit recommends the patches to replace 'blacklist' and 'whitelist' with the 'denylist' and 'allowlist', because the new suggestions are incontrovertible, doesn't make people hurt, and more self-explanatory

[PATCH v4 0/2] Recommend denylist/allowlist instead of blacklist/whitelist

2020-06-10 Thread SeongJae Park
From: SeongJae Park This patchset 1) adds support of deprecated terms in the 'checkpatch.pl' and 2) set the 'blacklist' and 'whitelist' as deprecated with replacement suggestion of 'denylist' and 'allowlist', because the suggestions are incontr

[PATCH v4 1/2] checkpatch: support deprecated terms checking

2020-06-10 Thread SeongJae Park
From: SeongJae Park Some terms could be deprecated for various reasons, but it is hard to update the entire old usages. That said, we could at least encourage new patches to use the suggested replacements. This commit adds check of deprecated terms in the 'checkpatch.pl' for that.

Re: [PATCH v3 2/2] scripts/deprecated_terms: Recommend blocklist/allowlist instead of blacklist/whitelist

2020-06-10 Thread SeongJae Park
amazon.com/ == >8 = >From 1376e327de8316ef30c393507b29d70d38bffd05 Mon Sep 17 00:00:00 2001 From: SeongJae Park Date: Wed, 10 Jun 2020 07:23:33 +0200 Subject: [PATCH v3.1] scripts/deprecated_terms: Recommend denylist/allow

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

2020-06-10 Thread SeongJae Park
On Mon, 8 Jun 2020 13:40:37 +0200 SeongJae Park wrote: > From: SeongJae Park > > At the beginning of the monitoring, DAMON constructs the initial regions > by evenly splitting the memory mapped address space of the process into > the user-specified minimal number of regions.

Re: Re: [PATCH v2] scripts/spelling: Recommend blocklist/allowlist instead of blacklist/whitelist

2020-06-10 Thread SeongJae Park
On Wed, 10 Jun 2020 10:50:24 +0200 Jiri Slaby wrote: > On 09. 06. 20, 14:25, SeongJae Park wrote: > > From: SeongJae Park > > > > This commit recommends the patches to replace 'blacklist' and > > 'whitelist' with the 'blocklist&#

Re: Re: Re: [PATCH v3 1/2] checkpatch: support deprecated terms checking

2020-06-10 Thread SeongJae Park
On Wed, 10 Jun 2020 01:45:41 -0700 Joe Perches wrote: > On Wed, 2020-06-10 at 10:01 +0200, SeongJae Park wrote: > > On Wed, 10 Jun 2020 00:13:42 -0700 Joe Perches wrote: > [] > > > This is a direct copy of the spelling dictionary > > > loading code, so may

Re: Re: [PATCH v3 1/2] checkpatch: support deprecated terms checking

2020-06-10 Thread SeongJae Park
On Wed, 10 Jun 2020 00:13:42 -0700 Joe Perches wrote: > On Wed, 2020-06-10 at 08:52 +0200, SeongJae Park wrote: > > From: SeongJae Park > > > > Some terms could be deprecated for various reasons, but it is hard to > > update the entire old usages. That said,

[PATCH v3 0/2] Recommend blocklist/allowlist instead of blacklist/whitelist

2020-06-09 Thread SeongJae Park
From: SeongJae Park This patchset 1) adds support of deprecated terms in the 'checkpatch.pl' and 2) set the 'blacklist' and 'whitelist' as deprecated with replacement suggestion of 'blocklist' and 'allowlist', because the suggestions are incontr

[PATCH v3 2/2] scripts/deprecated_terms: Recommend blocklist/allowlist instead of blacklist/whitelist

2020-06-09 Thread SeongJae Park
From: SeongJae Park This commit recommends the patches to replace 'blacklist' and 'whitelist' with the 'blocklist' and 'allowlist', because the new suggestions are incontrovertible, doesn't make people hurt, and more self-explanatory

[PATCH v3 1/2] checkpatch: support deprecated terms checking

2020-06-09 Thread SeongJae Park
From: SeongJae Park Some terms could be deprecated for various reasons, but it is hard to update the entire old usages. That said, we could at least encourage new patches to use the suggested replacements. This commit adds check of deprecated terms in the 'checkpatch.pl' for that.

Re: Re: [PATCH v2] scripts/spelling: Recommend blocklist/allowlist instead of blacklist/whitelist

2020-06-09 Thread SeongJae Park
On Tue, 09 Jun 2020 18:35:46 -0700 Joe Perches wrote: > On Tue, 2020-06-09 at 14:25 +0200, SeongJae Park wrote: > > From: SeongJae Park > > > > This commit recommends the patches to replace 'blacklist' and > > 'whitelist' with the 'blocklist&#

[RFC v3 09/10] tools/damon/record: Support physical memory address spce

2020-06-09 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 RA

[RFC v3 10/10] Docs/damon: Document physical memory monitoring support

2020-06-09 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| 16 +++-- Documentation/admin-guide/mm/damon/index.rst | 1 - .../admin-guide/mm/damon

[RFC v3 08/10] mm/damon/debugfs: Support physical memory monitoring

2020-06-09 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,

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