]> Git Repo - linux.git/commit
mm/damon/core: handle zero schemes apply interval
authorSeongJae Park <[email protected]>
Thu, 31 Oct 2024 18:37:57 +0000 (11:37 -0700)
committerAndrew Morton <[email protected]>
Thu, 7 Nov 2024 22:14:58 +0000 (14:14 -0800)
commit8e7bde615f634a82a44b1f3d293c049fd3ef9ca9
tree2a8d7ef5d940c86a162cc2f580264256a73b28af
parent3488af0970445ff5532c7e8dc5e6456b877aee5e
mm/damon/core: handle zero schemes apply interval

DAMON's logics to determine if this is the time to apply damos schemes
assumes next_apply_sis is always set larger than current
passed_sample_intervals.  And therefore assume continuously incrementing
passed_sample_intervals will make it reaches to the next_apply_sis in
future.  The logic hence does apply the scheme and update next_apply_sis
only if passed_sample_intervals is same to next_apply_sis.

If Schemes apply interval is set as zero, however, next_apply_sis is set
same to current passed_sample_intervals, respectively.  And
passed_sample_intervals is incremented before doing the next_apply_sis
check.  Hence, next_apply_sis becomes larger than next_apply_sis, and the
logic says it is not the time to apply schemes and update next_apply_sis.
In other words, DAMON stops applying schemes until passed_sample_intervals
overflows.

Based on the documents and the common sense, a reasonable behavior for
such inputs would be applying the schemes for every sampling interval.
Handle the case by removing the assumption.

Link: https://lkml.kernel.org/r/[email protected]
Fixes: 42f994b71404 ("mm/damon/core: implement scheme-specific apply interval")
Signed-off-by: SeongJae Park <[email protected]>
Cc: <[email protected]> [6.7.x]
Signed-off-by: Andrew Morton <[email protected]>
mm/damon/core.c
This page took 0.05739 seconds and 4 git commands to generate.