Re: [PATCH v2 2/2] mm/damon/sysfs: change next_update_jiffies to a global variable
From: SeongJae Park
Date: Thu Oct 30 2025 - 10:32:28 EST
On Thu, 30 Oct 2025 10:07:46 +0800 Quanmin Yan <yanquanmin1@xxxxxxxxxx> wrote:
> In DAMON’s damon_sysfs_repeat_call_fn(), time_before() is used to compare
> the current jiffies with next_update_jiffies to determine whether to
> update the sysfs files at this moment.
>
> On 32-bit systems, the kernel initializes jiffies to "-5 minutes" to make
> jiffies wrap bugs appear earlier. However, this causes time_before() in
> damon_sysfs_repeat_call_fn() to unexpectedly return true during the first
> 5 minutes after boot on 32-bit systems (see [1] for more explanation,
> which fixes another jiffies-related issue before). As a result, DAMON
> does not update sysfs files during that period.
>
> There is also an issue unrelated to the system’s word size[2]: if the
> user stops DAMON just after next_update_jiffies is updated and restarts
> it after 'refresh_ms' or a longer delay, next_update_jiffies will retain
> an older value, causing time_before() to return false and the update to
> happen earlier than expected.
>
> Fix these issues by making next_update_jiffies a global variable and
> initializing it each time DAMON is started.
>
> [1] https://lkml.kernel.org/r/20250822025057.1740854-1-ekffu200098@xxxxxxxxx
> [2] https://lore.kernel.org/all/20251029013038.66625-1-sj@xxxxxxxxxx/
Thank you for finding and fixing these!
>
> Fixes: d809a7c64ba8 ("mm/damon/sysfs: implement refresh_ms file internal work")
> Suggested-by: SeongJae Park <sj@xxxxxxxxxx>
> Signed-off-by: Quanmin Yan <yanquanmin1@xxxxxxxxxx>
Reviewed-by: SeongJae Park <sj@xxxxxxxxxx>
Thanks,
SJ
[...]