[PATCH] cfq-iosched: correctly set ioprio on both targets
authorJens Axboe <axboe@suse.de>
Wed, 14 Jun 2006 07:10:45 +0000 (09:10 +0200)
committerJens Axboe <axboe@nelson.home.kernel.dk>
Fri, 23 Jun 2006 15:10:39 +0000 (17:10 +0200)
commit35e6077cb16f93517ba5a51ba849b186d2474d60
tree215bcf3548d80365b3cd3673feddf6a8f8ba9fbc
parentb17fd9bceb99610f6dc7998c9a4ed6b71520be2b
[PATCH] cfq-iosched: correctly set ioprio on both targets

Patch originally from Vasily Tarasov <vtaras@sw.ru>

If you set io-priority of process 1 using sys_ioprio_set system call by
another process 2 (like ionice do), then cfq_init_prio_data() function
sets priority of process 2 (current) on queue of process 1 and clears
the flag, that designates change of ioprio.  So the process  1 will work
like with priority of process 2.

I propose not to call cfq_init_prio_data() on io-priority change, but
only mark queue as queue with changed prority.  Every time when new
request comes cfq-scheduler checks for this flag and atomaticaly changes
priority of queue to new value.

Signed-off-by: Jens Axboe <axboe@suse.de>
block/cfq-iosched.c