lkml.org 
[lkml]   [2011]   [Aug]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 3/5] writeback: dirty rate control
    On Wed, Aug 10, 2011 at 01:02:02AM +0800, Peter Zijlstra wrote:
    > On Sat, 2011-08-06 at 16:44 +0800, Wu Fengguang wrote:
    >
    > > + pos_bw = bw * pos_ratio >> BANDWIDTH_CALC_SHIFT;
    > > + pos_bw++; /* this avoids bdi->dirty_ratelimit get stuck in 0 */
    > > +
    >
    > > + pos_ratio *= bdi->avg_write_bandwidth;
    > > + do_div(pos_ratio, dirty_bw | 1);
    > > + ref_bw = bw * pos_ratio >> BANDWIDTH_CALC_SHIFT;
    >
    > when written out that results in:
    >
    > bw * pos_ratio * bdi->avg_write_bandwidth
    > ref_bw = -----------------------------------------
    > dirty_bw
    >
    > which would suggest you write it like:
    >
    > ref_bw = div_u64((u64)pos_bw * bdi->avg_write_bandwidth, dirty_bw | 1);
    >
    > since pos_bw is already bw * pos_ratio per the above.

    Good point. Oopse I even wrote a comment for the over complex calculation:

    * balanced_rate = pos_rate * write_bw / dirty_rate

    Thanks,
    Fengguang


    \
     
     \ /
      Last update: 2011-08-10 16:17    [W:6.875 / U:0.024 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site