Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

mm/mglru: don't sync disk for each aging cycle

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>

authored by

Yu Zhao and committed by
Andrew Morton
14aa8b2d e55b9f96

-2
-2
mm/vmscan.c
··· 4413 4413 if (wq_has_sleeper(&lruvec->mm_state.wait)) 4414 4414 wake_up_all(&lruvec->mm_state.wait); 4415 4415 4416 - wakeup_flusher_threads(WB_REASON_VMSCAN); 4417 - 4418 4416 return true; 4419 4417 } 4420 4418