Re: [PATCH v2 8/8] writeback: factor out balance_wb_limits to remove repeated code

From: Tejun Heo
Date: Thu May 30 2024 - 14:34:07 EST


Hello,

On Tue, May 14, 2024 at 08:52:54PM +0800, Kemeng Shi wrote:
> +static void balance_wb_limits(struct dirty_throttle_control *dtc,
> + bool strictlimit)
> +{
> + wb_dirty_freerun(dtc, strictlimit);
> + if (dtc->freerun)
> + return;
> +
> + wb_dirty_exceeded(dtc, strictlimit);
> + wb_position_ratio(dtc);
> +}
..
> @@ -1869,12 +1880,9 @@ static int balance_dirty_pages(struct bdi_writeback *wb,
> * Calculate global domain's pos_ratio and select the
> * global dtc by default.
> */
> - wb_dirty_freerun(gdtc, strictlimit);
> + balance_wb_limits(gdtc, strictlimit);
> if (gdtc->freerun)
> goto free_running;
> -
> - wb_dirty_exceeded(gdtc, strictlimit);
> - wb_position_ratio(gdtc);
> sdtc = gdtc;

Isn't this a bit nasty? The helper skips updating states because it knows
the caller is not going to use them? I'm not sure the slight code reduction
justifies the added subtlety.

Thanks.

--
tejun