Skip to content

Commit

Permalink
mm/damon/reclaim: make 'enabled' checking timer simpler
Browse files Browse the repository at this point in the history
DAMON_RECLAIM's 'enabled' parameter store callback ('enabled_store()')
schedules the parameter check timer ('damon_reclaim_timer') if the
parameter is set as 'Y'.  Then, the timer schedules itself to check if
user has set the parameter as 'N'.  It's unnecessarily complex.

This commit makes it simpler by making the parameter store callback to
schedule the timer regardless of the parameter value and disabling the
timer's self scheduling.

Link: https://lkml.kernel.org/r/20220606182310.48781-6-sj@kernel.org
Signed-off-by: SeongJae Park <sj@kernel.org>
Cc: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
  • Loading branch information
SeongJae Park authored and akpm committed Jul 4, 2022
1 parent a79b68e commit f943e7e
Showing 1 changed file with 1 addition and 8 deletions.
9 changes: 1 addition & 8 deletions mm/damon/reclaim.c
Original file line number Diff line number Diff line change
Expand Up @@ -353,7 +353,6 @@ static int damon_reclaim_turn(bool on)
return 0;
}

#define ENABLE_CHECK_INTERVAL_MS 1000
static struct delayed_work damon_reclaim_timer;
static void damon_reclaim_timer_fn(struct work_struct *work)
{
Expand All @@ -367,10 +366,6 @@ static void damon_reclaim_timer_fn(struct work_struct *work)
else
enabled = last_enabled;
}

if (enabled)
schedule_delayed_work(&damon_reclaim_timer,
msecs_to_jiffies(ENABLE_CHECK_INTERVAL_MS));
}
static DECLARE_DELAYED_WORK(damon_reclaim_timer, damon_reclaim_timer_fn);

Expand All @@ -388,9 +383,7 @@ static int enabled_store(const char *val,
if (!damon_reclaim_initialized)
return rc;

if (enabled)
schedule_delayed_work(&damon_reclaim_timer, 0);

schedule_delayed_work(&damon_reclaim_timer, 0);
return 0;
}

Expand Down

0 comments on commit f943e7e

Please sign in to comment.