• T
    blk-throttle: make throtl_pending_timer_fn() ready for hierarchy · 2e48a530
    Tejun Heo 提交于
    throtl_pending_timer_fn() currently assumes that the parent_sq is the
    top level one and the bio's dispatched are ready to be issued;
    however, this assumption will be wrong with proper hierarchy support.
    This patch makes the following changes to make
    throtl_pending_timer_fn() ready for hiearchy.
    
    * If the parent_sq isn't the top-level one, update the parent
      throtl_grp's dispatch time and schedule the next dispatch as
      necessary.  If the parent's dispatch time is now, repeat the
      function for the parent throtl_grp.
    
    * If the parent_sq is the top-level one, kick issue work_item as
      before.
    
    * The debug message printed by throtl_log() now prints out the
      service_queue's nr_queued[] instead of the total nr_queued as the
      latter becomes uninteresting and misleading with hierarchical
      dispatch.
    Signed-off-by: NTejun Heo <tj@kernel.org>
    Acked-by: NVivek Goyal <vgoyal@redhat.com>
    2e48a530
blk-throttle.c 38.0 KB