[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20250415083542.6946-1-alexjlzheng@tencent.com>
Date: Tue, 15 Apr 2025 16:35:42 +0800
From: alexjlzheng@...il.com
To: willy@...radead.org,
akpm@...ux-foundation.org,
andrea@...terlinux.com,
fengguang.wu@...el.com
Cc: linux-fsdevel@...r.kernel.org,
linux-mm@...ck.org,
linux-kernel@...r.kernel.org,
mengensun@...cent.com,
Jinliang Zheng <alexjlzheng@...cent.com>,
stable@...r.kernel.org
Subject: [PATCH] mm: fix ratelimit_pages update error in dirty_ratio_handler()
From: Jinliang Zheng <alexjlzheng@...cent.com>
In the dirty_ratio_handler() function, vm_dirty_bytes must be set to
zero before calling writeback_set_ratelimit(), as global_dirty_limits()
always prioritizes the value of vm_dirty_bytes.
Fixes: 9d823e8f6b1b ("writeback: per task dirty rate limit")
Signed-off-by: Jinliang Zheng <alexjlzheng@...cent.com>
Cc: stable@...r.kernel.org
---
mm/page-writeback.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mm/page-writeback.c b/mm/page-writeback.c
index c81624bc3969..20e1d76f1eba 100644
--- a/mm/page-writeback.c
+++ b/mm/page-writeback.c
@@ -520,8 +520,8 @@ static int dirty_ratio_handler(const struct ctl_table *table, int write, void *b
ret = proc_dointvec_minmax(table, write, buffer, lenp, ppos);
if (ret == 0 && write && vm_dirty_ratio != old_ratio) {
- writeback_set_ratelimit();
vm_dirty_bytes = 0;
+ writeback_set_ratelimit();
}
return ret;
}
--
2.49.0
Powered by blists - more mailing lists