• Tejun Heo's avatar
    writeback: add dirty_throttle_control->pos_ratio · daddfa3c
    Tejun Heo authored
    wb_position_ratio() is used to calculate pos_ratio, which is used for
    two purposes.  wb_update_dirty_ratelimit() uses it to adjust
    wb->[balanced_]dirty_ratelimit gradually and balance_dirty_pages() to
    immediately adjust dirty_ratelimit right before applying it to
    determine pause duration.
    
    While wb_update_dirty_ratelimit() is separately rate limited from
    balance_dirty_pages(), on the run where the ratelimit is updated, we
    end up calculating pos_ratio twice with the same parameters.
    
    This patch adds dirty_throttle_control->pos_ratio.
    balance_dirty_pages() calculates it once per run and
    wb_update_dirty_ratelimit() uses the value stored in
    dirty_throttle_control.
    
    This removes the duplicate calculation and also will help implementing
    memcg wb_domain.
    Signed-off-by: default avatarTejun Heo <tj@kernel.org>
    Cc: Jens Axboe <axboe@kernel.dk>
    Cc: Jan Kara <jack@suse.cz>
    Cc: Wu Fengguang <fengguang.wu@intel.com>
    Cc: Greg Thelen <gthelen@google.com>
    Signed-off-by: default avatarJens Axboe <axboe@fb.com>
    daddfa3c
page-writeback.c 75.8 KB