Re: (sashiko review) [PATCH v4 1/2] mm/damon/lru_sort: validate min_region_size to be power of 2

Liew Rui Yan
2026-04-11T00:04:59Z

On Fri, 10 Apr 2026 10:00:50 -0700 SeongJae Park <sj@kernel.org> wrote:

> On Sat, 11 Apr 2026 00:46:10 +0800 Liew Rui Yan <aethernet65535@gmail.com> wrote:
>
> > On Fri, 10 Apr 2026 06:55:00 -0700 SeongJae Park <sj@kernel.org> wrote:
> >
> > > On Fri, 10 Apr 2026 17:40:04 +0800 Liew Rui Yan <aethernet65535@gmail.com> wrote:
> > >
> > > [...]
> > >
> > > Agreed. This was unclear to me in previous disucssions, though. I still agree
> > > it is out of the scope of this patch. But now I think we need to let users
> > > force-restart. Adding this to my todo list.
> >
> > Just to make sure - is this the same issue that my recent RFC patch [1]
> > aims to address? I want to make sure we're not duplicating efforts.
>
> Hmm, this makes me confused about how we ended up working on this series, then.
>
> >
> > I'm still actively working on that patch, and I plan to send the next
> > version next week. I've been holding off because I didn't want to send
> > multiple patches in parallel.
>
> Ok, seems I dropped a ball. I was working like AI bot that only works with
> limited and nearly fresh context for each mail that on my inbox. I will work
> on making another thing for tracking this kind of parallel works with good
> context. But since I already dropped the ball for this, I'd like to make sure
> we are on the same page. So I'd suggest below.
>
> 1. Let's hold this patch series. Andrew, please don't merge this for now until
> this discussion is completed.
> 2. Please summarize your parallel works in progress with the context about how
> you decided to do that in the way, with summaries of our previous
> discussions.
>
> Could you please do those, Liew?

TL;DR - There is no dependency between my parallel (2) works. I never
intended to merge these two works into a single series because they
address the problem at different level.

Yes, here is the summary of my parallel works and how I decided to
structure them.

My current parallel works
=========================
Series A - min_region_sz power-of-2 validation (this patch)
- Status: You gave Reviewed-by, asked Andrew to merge.
- Scope: Small, standalone fix for specific issue.
- Dependency: None

Series B - reset parameters (enabled/kdamond_pid) on unexpected
termination (RFC [1])
- Status: Preparing V2.
- Scope: Reset 'enabled' and 'kdamond_pid' when kdamond terminated
unexpectedly.
- Dependency: None

Summary of Series B
===================
The design evolved through our discussion:
1. Extended 'struct damon_ctx' with 'thread_status' pointers
- SJ pointed out: "This feels too much extension of core API for a
problem that can more simply be fixed."

2. Alternative proposals discussed:
- Option 1: Termination callback in core API (Too heavy for backport)
- Option 2: Override '.get' operator for parameters (code duplication)
- Option 3: On-demamd correction in enabled_store() (passive)

3. Final direction comfirmed:
- SJ suggested: "Can't we catch damon_commit_ctx() failure from the
calling place?"
- We agreed: Simple, backportable fix is the priority.
- Decision: Reset 'enabled' and 'kdamond_pid' immediately when
damon_commit_ctx() fails, add a fallback in the damon_turn() 'N'
path.

[1] https://lore.kernel.org/20260330164347.12772-1-aethernet65535@gmail.com

Best regards,
Rui Yan