• Tejun Heo's avatar
    writeback: reorganize [__]wb_update_bandwidth() · 8a731799
    Tejun Heo authored
    __wb_update_bandwidth() is called from two places -
    fs/fs-writeback.c::balance_dirty_pages() and
    mm/page-writeback.c::wb_writeback().  The latter updates only the
    write bandwidth while the former also deals with the dirty ratelimit.
    The two callsites are distinguished by whether @thresh parameter is
    zero or not, which is cryptic.  In addition, the two files define
    their own different versions of wb_update_bandwidth() on top of
    __wb_update_bandwidth(), which is confusing to say the least.  This
    patch cleans up [__]wb_update_bandwidth() in the following ways.
    
    * __wb_update_bandwidth() now takes explicit @update_ratelimit
      parameter to gate dirty ratelimit handling.
    
    * mm/page-writeback.c::wb_update_bandwidth() is flattened into its
      caller - balance_dirty_pages().
    
    * fs/fs-writeback.c::wb_update_bandwidth() is moved to
      mm/page-writeback.c and __wb_update_bandwidth() is made static.
    
    * While at it, add a lockdep assertion to __wb_update_bandwidth().
    
    Except for the lockdep addition, this is pure reorganization and
    doesn't introduce any behavioral changes.
    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>
    8a731799
page-writeback.c 77 KB