on 3/26/2024 8:35 PM, Jan Kara wrote: > On Wed 20-03-24 19:02:22, Kemeng Shi wrote: >> We never use gdtc->dom set with GDTC_INIT_NO_WB, just remove unneeded >> GDTC_INIT_NO_WB >> >> Signed-off-by: Kemeng Shi <shikemeng@xxxxxxxxxxxxxxx> > > Please no, this leaves a trap for the future. If anything, I'd teach > GDTC_INIT() that 'wb' can be NULL and replace GDTC_INIT_NO_WB with > GDTC_INIT(NULL). Would it be acceptable to define GDTC_INIT_NO_WB to null for now as discussed in [1]. [1] https://lore.kernel.org/lkml/becdb16b-a318-ec05-61d2-d190541ae997@xxxxxxxxxxxxxxx/ Thanks, Kemeng > > Honza > >> --- >> mm/page-writeback.c | 7 ++----- >> 1 file changed, 2 insertions(+), 5 deletions(-) >> >> diff --git a/mm/page-writeback.c b/mm/page-writeback.c >> index 481b6bf34c21..09b2b0754cc5 100644 >> --- a/mm/page-writeback.c >> +++ b/mm/page-writeback.c >> @@ -154,8 +154,6 @@ struct dirty_throttle_control { >> .dom = &global_wb_domain, \ >> .wb_completions = &(__wb)->completions >> >> -#define GDTC_INIT_NO_WB .dom = &global_wb_domain >> - >> #define MDTC_INIT(__wb, __gdtc) .wb = (__wb), \ >> .dom = mem_cgroup_wb_domain(__wb), \ >> .wb_completions = &(__wb)->memcg_completions, \ >> @@ -210,7 +208,6 @@ static void wb_min_max_ratio(struct bdi_writeback *wb, >> >> #define GDTC_INIT(__wb) .wb = (__wb), \ >> .wb_completions = &(__wb)->completions >> -#define GDTC_INIT_NO_WB >> #define MDTC_INIT(__wb, __gdtc) >> >> static bool mdtc_valid(struct dirty_throttle_control *dtc) >> @@ -438,7 +435,7 @@ static void domain_dirty_limits(struct dirty_throttle_control *dtc) >> */ >> void global_dirty_limits(unsigned long *pbackground, unsigned long *pdirty) >> { >> - struct dirty_throttle_control gdtc = { GDTC_INIT_NO_WB }; >> + struct dirty_throttle_control gdtc = { }; >> >> gdtc.avail = global_dirtyable_memory(); >> domain_dirty_limits(&gdtc); >> @@ -895,7 +892,7 @@ unsigned long wb_calc_thresh(struct bdi_writeback *wb, unsigned long thresh) >> >> unsigned long wb_calc_cg_thresh(struct bdi_writeback *wb) >> { >> - struct dirty_throttle_control gdtc = { GDTC_INIT_NO_WB }; >> + struct dirty_throttle_control gdtc = { }; >> struct dirty_throttle_control mdtc = { MDTC_INIT(wb, &gdtc) }; >> unsigned long filepages, headroom, writeback; >> >> -- >> 2.30.0 >>