From: SJ Park <sj@kernel.org>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: SJ Park <sj@kernel.org>,
damon@lists.linux.dev, linux-kernel@vger.kernel.org,
linux-mm@kvack.org
Subject: [PATCH 00/10] mm/damon/core: hide core-private struct fields
Date: Tue, 14 Jul 2026 07:35:33 -0700 [thread overview]
Message-ID: <20260714143544.101305-1-sj@kernel.org> (raw)
DAMON core structs hide core-private fields using 'private:' comment
tags. It is incomplete and inconsistent. The linked list heads in a
few structs, for example, are intended to be hidden, and always be used
using the wrapper macros like damon_for_each_region(). But those were
mistakenly marked as non-private. A few core layer-only fields were
also mistakenly added as non-private.
This only encourages callers to directly use the private fields. It is
easy to make mistakes, and difficult to control. Mark all such DAMON
core struct fields as private.
Patches 1-8 mark the private fields for damon_region, damon_target,
damos_quota_goal, damos_quota, damos_filter, damos, damon_filter and
damon_probe, respectively. Patch 9 removes DAMON_SYSFS's direct access
to core-private field, damon_ctx->ops. Finally patch 10 mark the
private fields for damon_ctx.
Changes from RFC v1
- RFC v1: https://lore.kernel.org/20260714043437.95811-1-sj@kernel.org
- Drop RFC tag.
SJ Park (10):
mm/damon/core: hide private damon_region fields
mm/damon/core: hide private damon_target fields
mm/damon/core: hide private damos_quota_goal fields
mm/damon/core: hide private damos_quota fields
mm/damon/core: hide private damos_filter fields
mm/damon/core: hide private damos fields
mm/damon/core: hide private damon_filter fields
mm/damon/core: hide private damon_probe fields
mm/damon/sysfs: do not directly access damon_ctx->ops
mm/damon/core: hide core-private damon_ctx fields
include/linux/damon.h | 110 +++++++++++++++++++++++-------------------
mm/damon/sysfs.c | 2 +-
2 files changed, 62 insertions(+), 50 deletions(-)
base-commit: 4c0f8c26ecc149f268b6c488e6cbde2a4e58160a
--
2.47.3
next reply other threads:[~2026-07-14 14:35 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-14 14:35 SJ Park [this message]
2026-07-14 14:35 ` [PATCH 01/10] mm/damon/core: hide private damon_region fields SJ Park
2026-07-14 14:35 ` [PATCH 02/10] mm/damon/core: hide private damon_target fields SJ Park
2026-07-14 14:35 ` [PATCH 03/10] mm/damon/core: hide private damos_quota_goal fields SJ Park
2026-07-14 14:35 ` [PATCH 04/10] mm/damon/core: hide private damos_quota fields SJ Park
2026-07-14 14:35 ` [PATCH 05/10] mm/damon/core: hide private damos_filter fields SJ Park
2026-07-14 14:35 ` [PATCH 06/10] mm/damon/core: hide private damos fields SJ Park
2026-07-14 14:35 ` [PATCH 07/10] mm/damon/core: hide private damon_filter fields SJ Park
2026-07-14 14:35 ` [PATCH 08/10] mm/damon/core: hide private damon_probe fields SJ Park
2026-07-14 14:35 ` [PATCH 09/10] mm/damon/sysfs: do not directly access damon_ctx->ops SJ Park
2026-07-14 14:35 ` [PATCH 10/10] mm/damon/core: hide core-private damon_ctx fields SJ 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=20260714143544.101305-1-sj@kernel.org \
--to=sj@kernel.org \
--cc=akpm@linux-foundation.org \
--cc=damon@lists.linux.dev \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.