On Fri 27-05-16 14:34:46, Tejun Heo wrote:
> As vm.dirty_[background_]bytes can't be applied verbatim to multiple
> cgroup writeback domains, they get converted to percentages in
> domain_dirty_limits() and applied the same way as
> vm.dirty_[background]ratio.  However, if the specified bytes is lower
> than 1% of available memory, the calculated ratios become zero and the
> writeback domain gets throttled constantly.
> 
> Fix it by using per-PAGE_SIZE instead of percentage for ratio
> calculations.  Also, the updated DIV_ROUND_UP() usages now should
> yield 1/4096 (0.0244%) as the minimum ratio as long as the specified
> bytes are above zero.

The patch looks good to me. You can add:

Reviewed-by: Jan Kara <j...@suse.cz>

Just one nit below:

> @@ -386,26 +387,28 @@ static void domain_dirty_limits(struct 
> dirty_throttle_control *dtc)
>               /*
>                * The byte settings can't be applied directly to memcg
>                * domains.  Convert them to ratios by scaling against
> -              * globally available memory.
> +              * globally available memory.  As the ratios are in
> +              * per-PAGE_SIZE, they can be obtained by dividing bytes by
> +              * pages.

The comment would be more comprehensible to me is the last sentence was
"... by dividing bytes by number of pages".

                                                                Honza
-- 
Jan Kara <j...@suse.com>
SUSE Labs, CR

Reply via email to