All of lore.kernel.org
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: "Enze Li" <lienze@kylinos.cn>
Cc: damon@lists.linux.dev
Subject: Re: [PATCH] samples/damon/mtier: use damon_addr_range consistently
Date: Mon, 20 Jul 2026 09:35:36 +0000	[thread overview]
Message-ID: <20260720093536.E22941F000E9@smtp.kernel.org> (raw)
In-Reply-To: <20260720092355.237599-1-lienze@kylinos.cn>

Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [Medium] The commit message incorrectly claims `struct damon_addr_range` has an identical layout to `struct region_range`, masking a physical address truncation issue on 32-bit PAE architectures.
- [Low] The refactoring removes a custom struct but leaves a redundant local variable `range` and unnecessary field-by-field copy operations.
--

--- Patch [1]: [PATCH] samples/damon/mtier: use damon_addr_range consistently ---
commit 71c06f0196fa4997fb5e79c1b3b9f9f2e74eb370
Author: Enze Li <lienze@kylinos.cn>

samples/damon/mtier: use damon_addr_range consistently

This commit removes the local struct region_range and uses struct
damon_addr_range for unified address range management.

> The DAMON provides struct damon_addr_range for unified address range
> management.  However, the mtier sample still defines a local struct
> region_range with an identical layout (start and end as phys_addr_t) and
> mixes its usage with struct damon_addr_range in

[Severity: Medium]
Is this description of struct damon_addr_range accurate?

Looking at include/linux/damon.h, struct damon_addr_range is defined with
unsigned long fields, not phys_addr_t:

struct damon_addr_range {
	unsigned long start;
	unsigned long end;
};

On 32-bit architectures with PAE, phys_addr_t is 64-bit while unsigned long
is 32-bit, meaning assignments of physical addresses via PFN_PHYS() will
silently truncate.

Could the commit message be updated to avoid stating they have identical
layouts?

> diff --git a/samples/damon/mtier.c b/samples/damon/mtier.c
> index ac9c24b92ead8..67f20b52dc7bb 100644
> --- a/samples/damon/mtier.c
> +++ b/samples/damon/mtier.c
[ ... ]
> @@ -78,8 +73,7 @@ static struct damon_ctx *damon_sample_mtier_build_ctx(bool promote)
>  	struct damos *scheme;
>  	struct damos_quota_goal *quota_goal;
>  	struct damos_filter *filter;
> -	struct region_range addr;
> -	struct damon_addr_range range;
> +	struct damon_addr_range range, addr;

[Severity: Low]
Since addr and range are now exactly the same type, is it still necessary to
keep the separate range variable?

Further down in damon_sample_mtier_build_ctx(), there is a field-by-field
copy that is now redundant:

	range.start = addr.start;
	range.end = addr.end;

	ret = damon_set_regions(target, &range, 1, DAMON_MIN_REGION_SZ);

Could we remove the range variable entirely and just pass &addr directly to
damon_set_regions() instead?

>  	int ret;
>  
>  	ctx = damon_new_ctx();

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260720092355.237599-1-lienze@kylinos.cn?part=1

  reply	other threads:[~2026-07-20  9:35 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-20  9:23 [PATCH] samples/damon/mtier: use damon_addr_range consistently Enze Li
2026-07-20  9:35 ` sashiko-bot [this message]
2026-07-20 12:39   ` Enze Li

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=20260720093536.E22941F000E9@smtp.kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=damon@lists.linux.dev \
    --cc=lienze@kylinos.cn \
    --cc=sashiko-reviews@lists.linux.dev \
    /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.