aboutsummaryrefslogtreecommitdiffstats
path: root/block/blk-lib.c
diff options
context:
space:
mode:
authorShaohua Li <shaohua.li@intel.com>2011-07-12 14:24:56 +0200
committerJens Axboe <jaxboe@fusionio.com>2011-07-12 14:24:56 +0200
commit7700fc4f675fa38094e78e345b594363a2fd895b (patch)
tree000ae1fb3d825240b7e78ad8d3db66be168ffe94 /block/blk-lib.c
parentf5f2b6ceb23e02ff35c6dbc6a39aa776ace99cda (diff)
downloadautogen-7700fc4f675fa38094e78e345b594363a2fd895b.tar.gz
autogen-7700fc4f675fa38094e78e345b594363a2fd895b.tar.xz
autogen-7700fc4f675fa38094e78e345b594363a2fd895b.zip
CFQ: add think time check for group
Currently when the last queue of a group has no request, we don't expire the queue to hope request from the group comes soon, so the group doesn't miss its share. But if the think time is big, the assumption isn't correct and we just waste bandwidth. In such case, we don't do idle. [global] runtime=30 direct=1 [test1] cgroup=test1 cgroup_weight=1000 rw=randread ioengine=libaio size=500m runtime=30 directory=/mnt filename=file1 thinktime=9000 [test2] cgroup=test2 cgroup_weight=1000 rw=randread ioengine=libaio size=500m runtime=30 directory=/mnt filename=file2 patched base test1 64k 39k test2 548k 540k total 604k 578k group1 gets much better throughput because it waits less time. To check if the patch changes behavior of queue without think time. I also tried to give test1 2ms think time or no think time. The test result is stable. The thoughput doesn't change with/without the patch. Signed-off-by: Shaohua Li <shaohua.li@intel.com> Acked-by: Vivek Goyal <vgoyal@redhat.com> Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Diffstat (limited to 'block/blk-lib.c')
0 files changed, 0 insertions, 0 deletions