Re: [PATCH] mm/page-writeback: Update the comment of Dirty position control

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Jan Kara <jack@xxxxxxx> 于2021年5月11日周二 下午5:06写道:
>
> On Tue 11-05-21 13:26:26, Chi Wu wrote:
> > As the value of pos_ratio_polynom() clamp between 0 and
> > 2LL << RATELIMIT_CALC_SHIFT, the global control line should be
> > consistent with it.
> >
> > Signed-off-by: Chi Wu <wuchi.zero@xxxxxxxxx>
> > ---
> >  mm/page-writeback.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/mm/page-writeback.c b/mm/page-writeback.c
> > index 0062d5c57d41..e9a4f6cf12bb 100644
> > --- a/mm/page-writeback.c
> > +++ b/mm/page-writeback.c
> > @@ -845,7 +845,7 @@ static long long pos_ratio_polynom(unsigned long setpoint,
> >   *     ^ pos_ratio
> >   *     |
> >   *     |            |<===== global dirty control scope ======>|
> > - * 2.0 .............*
> > + * 2.0 * * * * * * *
> >   *     |            .*
> >   *     |            . *
> >   *     |            .   *
>
> Generally, pos_ratio is used only within [freerun, limit] range so its
> values outside of that range don't matter much. But you're right that

Thanks.
Yes, most time it is. As the follow code and in the
"dtc->wb_dirty < 8" rampup case, dirty pages may break the rules.

. . . .
    if (unlikely(wb->bdi->capabilities & BDI_CAP_STRICTLIMIT)) {
            long long wb_pos_ratio;

            if (dtc->wb_dirty < 8) {
                   dtc->pos_ratio = min_t(long long, pos_ratio * 2,
                                      2 << RATELIMIT_CALC_SHIFT);
                    return;
            }

            if (dtc->wb_dirty >= wb_thresh)
                    return;
. . .


> pos_ratio_polynom() clamps the computed value as you describe and we can
> visualize that in the graph as well. Just please move the '*' line you add
> by one space to the right so that the curve really follows the cubic curve
> upto 'freerun' mark (the vertical '.' line).

Thanks.I'll correct it later.

>
>                                                                 Honza
> --
> Jan Kara <jack@xxxxxxxx>
> SUSE Labs, CR





[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux