linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: SeongJae Park <sj@kernel.org>
To: akpm@linux-foundation.org
Cc: xhao@linux.alibaba.com, rientjes@google.com, linux-mm@kvack.org,
	linux-kernel@vger.kernel.org, SeongJae Park <sj@kernel.org>
Subject: [PATCH 0/8] Allow DAMON user code independent of monitoring primitives
Date: Tue, 15 Feb 2022 18:45:55 +0000	[thread overview]
Message-ID: <20220215184603.1479-1-sj@kernel.org> (raw)

In-kernel DAMON user code is required to configure the monitoring
context (struct damon_ctx) with proper monitoring primitives (struct
damon_primitive).  This makes the user code dependent to all supporting
monitoring primitives.  For example, DAMON debugfs interface depends on
both DAMON_VADDR and DAMON_PADDR, though some users have interest in
only one use case.  As more monitoring primitives are introduced, the
problem will be bigger.

To minimize such unnecessary dependency, this patchset makes monitoring
primitives can be registered by the implemnting code and later
dynamically searched and selected by the user code.

In addition to that, this patchset renames monitoring primitives to
monitoring operations, which is more easy to intuitively understand what
it means and how it would be structed.

SeongJae Park (8):
  mm/damon: Rename damon_primitives to damon_operations
  mm/damon: Let monitoring operations can be registered and selected
  mm/damon/paddr,vaddr: Register themselves to DAMON in subsys_initcall
  mm/damon/reclaim: Use damon_select_ops() instead of
    damon_{v,p}a_set_operations()
  mm/damon/dbgfs: Use damon_select_ops() instead of
    damon_{v,p}a_set_operations()
  mm/damon/dbgfs: Use operations id for knowing if the target has pid
  mm/damon/dbgfs-test: Fix is_target_id() change
  mm/damon/paddr,vaddr: Remove
    damon_{p,v}a_{target_valid,set_operations}()

 include/linux/damon.h                     |  72 ++++++------
 mm/damon/Kconfig                          |  12 +-
 mm/damon/Makefile                         |   4 +-
 mm/damon/core.c                           | 131 ++++++++++++++++------
 mm/damon/dbgfs-test.h                     |   4 +-
 mm/damon/dbgfs.c                          |  20 +++-
 mm/damon/{prmtv-common.c => ops-common.c} |   2 +-
 mm/damon/{prmtv-common.h => ops-common.h} |   0
 mm/damon/paddr.c                          |  36 +++---
 mm/damon/reclaim.c                        |   4 +-
 mm/damon/vaddr-test.h                     |   2 +-
 mm/damon/vaddr.c                          |  33 +++---
 12 files changed, 209 insertions(+), 111 deletions(-)
 rename mm/damon/{prmtv-common.c => ops-common.c} (99%)
 rename mm/damon/{prmtv-common.h => ops-common.h} (100%)

-- 
2.17.1



             reply	other threads:[~2022-02-15 18:46 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-15 18:45 SeongJae Park [this message]
2022-02-15 18:45 ` [PATCH 1/8] mm/damon: Rename damon_primitives to damon_operations SeongJae Park
2022-02-15 18:45 ` [PATCH 2/8] mm/damon: Let monitoring operations can be registered and selected SeongJae Park
2022-02-15 18:45 ` [PATCH 3/8] mm/damon/paddr,vaddr: Register themselves to DAMON in subsys_initcall SeongJae Park
2022-02-15 18:45 ` [PATCH 4/8] mm/damon/reclaim: Use damon_select_ops() instead of damon_{v,p}a_set_operations() SeongJae Park
2022-02-15 18:46 ` [PATCH 5/8] mm/damon/dbgfs: " SeongJae Park
2022-02-15 18:46 ` [PATCH 6/8] mm/damon/dbgfs: Use operations id for knowing if the target has pid SeongJae Park
2022-02-15 18:46 ` [PATCH 7/8] mm/damon/dbgfs-test: Fix is_target_id() change SeongJae Park
2022-02-15 18:46 ` [PATCH 8/8] mm/damon/paddr,vaddr: Remove damon_{p,v}a_{target_valid,set_operations}() SeongJae Park

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220215184603.1479-1-sj@kernel.org \
    --to=sj@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=rientjes@google.com \
    --cc=xhao@linux.alibaba.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox