| From: Yu Zhao <yuzhao@google.com> |
| Subject: mm/mglru: don't sync disk for each aging cycle |
| Date: Wed, 28 Sep 2022 13:36:58 -0600 |
| |
| 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 | 2 -- |
| 1 file changed, 2 deletions(-) |
| |
| --- a/mm/vmscan.c~mm-mglru-dont-sync-disk-for-each-aging-cycle |
| +++ a/mm/vmscan.c |
| @@ -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; |
| } |
| |
| _ |