[PATCH v2 0/3] Fix calculations in trace_balance_dirty_pages() for cgwb

From: Tang Yizhou
Date: Tue Mar 04 2025 - 06:05:03 EST


From: Tang Yizhou <yizhou.tang@xxxxxxxxxx>

In my experiment, I found that the output of trace_balance_dirty_pages()
in the cgroup writeback scenario was strange because
trace_balance_dirty_pages() always uses global_wb_domain.dirty_limit for
related calculations instead of the dirty_limit of the corresponding
memcg's wb_domain.

The basic idea of the fix is to store the hard dirty limit value computed
in wb_position_ratio() into struct dirty_throttle_control and use it for
calculations in trace_balance_dirty_pages().

v2:
Adopt Tejun's suggestion and split the renaming code into Patch #2.
Pick up Tejun's Acked-by tag in Patch #3.

Tang Yizhou (3):
writeback: Let trace_balance_dirty_pages() take struct dtc as
parameter
writeback: Rename variables in trace_balance_dirty_pages()
writeback: Fix calculations in trace_balance_dirty_pages() for cgwb

include/linux/writeback.h | 24 +++++++++++++++++++++
include/trace/events/writeback.h | 33 ++++++++++++----------------
mm/page-writeback.c | 37 +++-----------------------------
3 files changed, 41 insertions(+), 53 deletions(-)

--
2.25.1