Re: [PATCH 2/5] writeback: dirty position control

Peter Zijlstra
2011-08-12T13:04:51Z

On Tue, 2011-08-09 at 19:20 +0200, Peter Zijlstra wrote:
>
> Now all of the above would seem to suggest:
>
> dirty_ratelimit := ref_bw
>
> However for that you use:
>
> if (pos_bw < dirty_ratelimit && ref_bw < dirty_ratelimit)
> dirty_ratelimit = max(ref_bw, pos_bw);
>
> if (pos_bw > dirty_ratelimit && ref_bw > dirty_ratelimit)
> dirty_ratelimit = min(ref_bw, pos_bw);
>
> You have:
>
> pos_bw = dirty_ratelimit * pos_ratio
>
> Which is ref_bw without the write_bw/dirty_bw factor, this confuses me..
> why are you ignoring the shift in output vs input rate there?

Could you elaborate on this primary feedback loop? Its the one part I
don't feel I actually understand well.