diff options
author | Tejun Heo <tj@kernel.org> | 2013-05-14 13:52:38 -0700 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2013-05-14 13:52:38 -0700 |
commit | 9e660acffcd1b5adc4ec1ffba0cbb584f86b8907 (patch) | |
tree | 96ac75e374c9a7069e07093a1c636aebf76d8a3d /block/blk-merge.c | |
parent | 2a12f0dcdad1ba7c0e53bbff8e5f6d0ee7a29882 (diff) | |
download | talos-op-linux-9e660acffcd1b5adc4ec1ffba0cbb584f86b8907.tar.gz talos-op-linux-9e660acffcd1b5adc4ec1ffba0cbb584f86b8907.zip |
blk-throttle: make blk_throtl_bio() ready for hierarchy
Currently, blk_throtl_bio() issues the passed in bio directly if it's
within limits of its associated tg (throtl_grp). This behavior
becomes incorrect with hierarchy support as the bio should be
accounted to and throttled by the ancestor throtl_grps too.
This patch makes the direct issue path of blk_throtl_bio() to loop
until it reaches the top-level service_queue or gets throttled. If
the former, the bio can be issued directly; otherwise, it gets queued
at the first layer it was above limits.
As tg->parent_sq is always the top-level service queue currently, this
patch in itself doesn't make any behavior differences.
Signed-off-by: Tejun Heo <tj@kernel.org>
Acked-by: Vivek Goyal <vgoyal@redhat.com>
Diffstat (limited to 'block/blk-merge.c')
0 files changed, 0 insertions, 0 deletions