mm/mglru: don't sync disk for each aging cycle
authorYu Zhao <yuzhao@google.com>
Wed, 28 Sep 2022 19:36:58 +0000 (13:36 -0600)
committerAndrew Morton <akpm@linux-foundation.org>
Fri, 7 Oct 2022 21:28:39 +0000 (14:28 -0700)
wakeup_flusher_threads() was added under the assumption that if a system
runs out of clean cold pages, it might want to write back dirty pages more
aggressively so that they can become clean and be dropped.

However, doing so can breach the rate limit a system wants to impose on
writeback, resulting in early SSD wearout.

Link: https://lkml.kernel.org/r/YzSiWq9UEER5LKup@google.com
Fixes: bd74fdaea146 ("mm: multi-gen LRU: support page table walks")
Signed-off-by: Yu Zhao <yuzhao@google.com>
Reported-by: Axel Rasmussen <axelrasmussen@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/vmscan.c

index c5a4bff..3240d5d 100644 (file)
@@ -4413,8 +4413,6 @@ done:
        if (wq_has_sleeper(&lruvec->mm_state.wait))
                wake_up_all(&lruvec->mm_state.wait);
 
-       wakeup_flusher_threads(WB_REASON_VMSCAN);
-
        return true;
 }