| From: SeongJae Park <sj@kernel.org> |
| Subject: mm/damon/reclaim: make 'enabled' checking timer simpler |
| Date: Mon, 6 Jun 2022 18:23:09 +0000 |
| |
| 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> |
| --- |
| |
| mm/damon/reclaim.c | 9 +-------- |
| 1 file changed, 1 insertion(+), 8 deletions(-) |
| |
| --- a/mm/damon/reclaim.c~mm-damon-reclaim-make-enabled-checking-timer-simpler |
| +++ a/mm/damon/reclaim.c |
| @@ -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) |
| { |
| @@ -367,10 +366,6 @@ static void damon_reclaim_timer_fn(struc |
| 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); |
| |
| @@ -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; |
| } |
| |
| _ |