Commit 231d704b authored by Vivek Goyal's avatar Vivek Goyal Committed by Jens Axboe

blk-throttle: process limit change only through one function

With the help of cgroup interface one can go and upate the bps/iops
limits of existing group. Once the limits are udpated, a thread is
woken up to see if some blocked group needs recalculation based on new
limits and needs to be requeued.

There was also a piece of code where I was checking for group limit
update when a fresh bio comes in. This patch gets rid of that piece of
code and keeps processing the limit change at one place
throtl_process_limit_change().  It just keeps the code simple and easy
to understand.
Signed-off-by: default avatarVivek Goyal <vgoyal@redhat.com>
Signed-off-by: default avatarJens Axboe <jaxboe@fusionio.com>
parent b873c5d6
...@@ -1009,14 +1009,8 @@ int blk_throtl_bio(struct request_queue *q, struct bio **biop) ...@@ -1009,14 +1009,8 @@ int blk_throtl_bio(struct request_queue *q, struct bio **biop)
/* /*
* There is already another bio queued in same dir. No * There is already another bio queued in same dir. No
* need to update dispatch time. * need to update dispatch time.
* Still update the disptime if rate limits on this group
* were changed.
*/ */
if (!tg->limits_changed)
update_disptime = false; update_disptime = false;
else
tg->limits_changed = false;
goto queue_bio; goto queue_bio;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment