diff options
author | Jens Axboe <jens.axboe@oracle.com> | 2009-10-03 16:26:03 +0200 |
---|---|---|
committer | Jens Axboe <jens.axboe@oracle.com> | 2009-10-03 16:27:13 +0200 |
commit | 8e2967555571659d2c8a70dd120710110ed7bba4 (patch) | |
tree | 22716c5388f0269f5c1cef54958ae27df256c498 /block/blk-core.c | |
parent | cfq-iosched: delay async IO dispatch, if sync IO was just done (diff) | |
download | linux-8e2967555571659d2c8a70dd120710110ed7bba4.tar.xz linux-8e2967555571659d2c8a70dd120710110ed7bba4.zip |
cfq-iosched: implement slower async initiate and queue ramp up
This slowly ramps up the async queue depth based on the time
passed since the sync IO, and doesn't allow async at all until
a sync slice period has passed.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Diffstat (limited to 'block/blk-core.c')
-rw-r--r-- | block/blk-core.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/block/blk-core.c b/block/blk-core.c index ddaaea4fdffc..a8c7fbe52e24 100644 --- a/block/blk-core.c +++ b/block/blk-core.c @@ -2492,6 +2492,14 @@ int kblockd_schedule_work(struct request_queue *q, struct work_struct *work) } EXPORT_SYMBOL(kblockd_schedule_work); +int kblockd_schedule_delayed_work(struct request_queue *q, + struct delayed_work *work, + unsigned long delay) +{ + return queue_delayed_work(kblockd_workqueue, work, delay); +} +EXPORT_SYMBOL(kblockd_schedule_delayed_work); + int __init blk_dev_init(void) { BUILD_BUG_ON(__REQ_NR_BITS > 8 * |