All of lore.kernel.org
 help / color / mirror / Atom feed
From: SJ Park <sj@kernel.org>
To: sashiko-bot@kernel.org
Cc: SJ Park <sj@kernel.org>, damon@lists.linux.dev
Subject: Re: [RFC PATCH v2.1 05/17] mm/damon/core: introduce damon_prep struct
Date: Mon, 27 Jul 2026 08:00:11 -0700	[thread overview]
Message-ID: <20260727150013.87261-1-sj@kernel.org> (raw)
In-Reply-To: <20260727144843.2F5101F000E9@smtp.kernel.org>

On Mon, 27 Jul 2026 14:48:42 +0000 sashiko-bot@kernel.org wrote:

> Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
> - [Medium] damon_commit_probes() does not synchronize the newly added 'preps' list, leading to lost preparation actions during context updates.
> --
> 
> --- Patch [5]: [RFC PATCH v2.1 05/17] mm/damon/core: introduce damon_prep struct ---
> commit 560f806438365d13be862eb2266c647b1d981d0b
> Author: SJ Park <sj@kernel.org>
> 
> mm/damon/core: introduce damon_prep struct
> 
> Some DAMON probe filter types require preparatory actions, like setting
> the PG_Idle flag at a specific time. This commit introduces a new data
> type called damon_prep to specify preparation actions for each probe.
> It also adds DAMON_PREP_SET_PGIDLE as the initial prep action.
> 
> > diff --git a/include/linux/damon.h b/include/linux/damon.h
> > index a8bb9ee6979e3..1a8de735f955b 100644
> > --- a/include/linux/damon.h
> > +++ b/include/linux/damon.h
> 
> [ ... ]
> 
> > @@ -780,6 +801,8 @@ struct damon_filter {
> >  struct damon_probe {
> >  	unsigned int weight;
> >  /* private: */
> > +	/* Preparation actions to apply to each probing memory. */
> > +	struct list_head preps;
> >  	/* Filters for assessing if a given region is for this probe. */
> >  	struct list_head filters;
> >  	/* Siblings list. */
> 
> [Severity: Medium]
> Does this change also require an update to damon_commit_probes() to copy the
> new preps list?
> 
> Currently, when updating a running context, damon_commit_probes() only copies
> the weight and filters from the source probe to the destination probe:
> 
> mm/damon/core.c:damon_commit_probes() {
>     ...
>     damon_for_each_probe_safe(dst_probe, next, dst) {
>         src_probe = damon_nth_probe(i++, src);
>         if (src_probe) {
>             dst_probe->weight = src_probe->weight;
>             err = damon_commit_filters(dst_probe, src_probe);
>     ...
> }
> 
> This applies both when synchronizing existing probes and when creating new
> ones to match the source context.
> 
> Without a corresponding damon_commit_preps() mechanism to synchronize these
> lists, it appears any preparation actions configured on a source context could
> be silently lost when committed to a running destination context.

A later patch in this series does that.

> 
> -- 
> Sashiko AI review · https://sashiko.dev/#/patchset/20260727143829.86236-1-sj@kernel.org?part=5


Thanks,
SJ

  reply	other threads:[~2026-07-27 15:00 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-27 14:38 [RFC PATCH v2.1 00/17] mm/damon: introduce data access-as-a-data attribute SJ Park
2026-07-27 14:38 ` [RFC PATCH v2.1 01/17] mm/damon/core: introduce DAMON_FILTER_TYPE_PGIDLE_UNSET SJ Park
2026-07-27 14:47   ` sashiko-bot
2026-07-27 14:58     ` SJ Park
2026-07-27 14:38 ` [RFC PATCH v2.1 02/17] mm/damon/paddr: support PGIDLE_UNSET probe filter type SJ Park
2026-07-27 14:52   ` sashiko-bot
2026-07-27 14:59     ` SJ Park
2026-07-27 14:38 ` [RFC PATCH v2.1 03/17] mm/damon/sysfs: support pgidle_unset " SJ Park
2026-07-27 14:38 ` [RFC PATCH v2.1 04/17] Docs/mm/damon/design: document " SJ Park
2026-07-27 14:38 ` [RFC PATCH v2.1 05/17] mm/damon/core: introduce damon_prep struct SJ Park
2026-07-27 14:48   ` sashiko-bot
2026-07-27 15:00     ` SJ Park [this message]
2026-07-27 14:38 ` [RFC PATCH v2.1 06/17] mm/damon/core: commit preps SJ Park
2026-07-27 14:38 ` [RFC PATCH v2.1 07/17] mm/damon/core: introduce damon_operations->prep_probes() SJ Park
2026-07-27 14:44   ` sashiko-bot
2026-07-27 15:02     ` SJ Park
2026-07-27 14:38 ` [RFC PATCH v2.1 08/17] mm/damon/paddr: support damon_prep SJ Park
2026-07-27 14:38 ` [RFC PATCH v2.1 09/17] mm/damon/sysfs: implement preps directory SJ Park
2026-07-27 14:38 ` [RFC PATCH v2.1 10/17] mm/damon/sysfs: implement preps/nr_preps file SJ Park
2026-07-27 14:38 ` [RFC PATCH v2.1 11/17] mm/damon/sysfs: create directories for nr_preps writes SJ Park
2026-07-27 14:38 ` [RFC PATCH v2.1 12/17] mm/damon/sysfs: implement prep_action file SJ Park
2026-07-27 14:38 ` [RFC PATCH v2.1 13/17] mm/damon/sysfs: pass preps to DAMON core SJ Park
2026-07-27 14:38 ` [RFC PATCH v2.1 14/17] selftests/damon/sysfs.sh: test probe prep sysfs files SJ Park
2026-07-27 14:38 ` [RFC PATCH v2.1 15/17] Docs/mm/damon/design: document probe preps SJ Park
2026-07-27 14:38 ` [RFC PATCH v2.1 16/17] Docs/admin-guide/mm/damon/usage: document probe preps sysfs files SJ Park
2026-07-27 14:38 ` [RFC PATCH v2.1 17/17] Docs/ABI/damon: document probe prep " 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=20260727150013.87261-1-sj@kernel.org \
    --to=sj@kernel.org \
    --cc=damon@lists.linux.dev \
    --cc=sashiko-bot@kernel.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.