[PATCH mm-unstable v15 08/14] mm: multi-gen LRU: support page table walks

Yu Zhao yuzhao at google.com
Wed Sep 28 12:36:58 PDT 2022


Hi Andrew,

Can you please take another fixlet? Thanks.

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.

Reported-by: Axel Rasmussen <axelrasmussen at google.com>
Signed-off-by: Yu Zhao <yuzhao at google.com>
---
 mm/vmscan.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/mm/vmscan.c b/mm/vmscan.c
index 5b565470286b..0317d4cf4884 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -4413,8 +4413,6 @@ static bool try_to_inc_max_seq(struct lruvec *lruvec, unsigned long max_seq,
 	if (wq_has_sleeper(&lruvec->mm_state.wait))
 		wake_up_all(&lruvec->mm_state.wait);
 
-	wakeup_flusher_threads(WB_REASON_VMSCAN);
-
 	return true;
 }
 
-- 
2.37.3.998.g577e59143f-goog



More information about the linux-arm-kernel mailing list