diff options
author | Jens Axboe <jens.axboe@oracle.com> | 2008-07-28 07:08:45 -0400 |
---|---|---|
committer | Jens Axboe <jens.axboe@oracle.com> | 2008-10-09 02:56:09 -0400 |
commit | 18887ad910e56066233a07fd3cfb2fa11338b782 (patch) | |
tree | a8d14ba47f15c58e36b26c82fa4ae4ad7526c80a | |
parent | b646fc59b332ef307895558c9cd1359dc2d25813 (diff) |
block: make kblockd_schedule_work() take the queue as parameter
Preparatory patch for checking queuing affinity.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
-rw-r--r-- | block/as-iosched.c | 6 | ||||
-rw-r--r-- | block/blk-core.c | 8 | ||||
-rw-r--r-- | block/cfq-iosched.c | 2 | ||||
-rw-r--r-- | include/linux/blkdev.h | 2 |
4 files changed, 9 insertions, 9 deletions
diff --git a/block/as-iosched.c b/block/as-iosched.c index cf4eb0eefbbf..80af9257e64a 100644 --- a/block/as-iosched.c +++ b/block/as-iosched.c | |||
@@ -462,7 +462,7 @@ static void as_antic_stop(struct as_data *ad) | |||
462 | del_timer(&ad->antic_timer); | 462 | del_timer(&ad->antic_timer); |
463 | ad->antic_status = ANTIC_FINISHED; | 463 | ad->antic_status = ANTIC_FINISHED; |
464 | /* see as_work_handler */ | 464 | /* see as_work_handler */ |
465 | kblockd_schedule_work(&ad->antic_work); | 465 | kblockd_schedule_work(ad->q, &ad->antic_work); |
466 | } | 466 | } |
467 | } | 467 | } |
468 | 468 | ||
@@ -483,7 +483,7 @@ static void as_antic_timeout(unsigned long data) | |||
483 | aic = ad->io_context->aic; | 483 | aic = ad->io_context->aic; |
484 | 484 | ||
485 | ad->antic_status = ANTIC_FINISHED; | 485 | ad->antic_status = ANTIC_FINISHED; |
486 | kblockd_schedule_work(&ad->antic_work); | 486 | kblockd_schedule_work(q, &ad->antic_work); |
487 | 487 | ||
488 | if (aic->ttime_samples == 0) { | 488 | if (aic->ttime_samples == 0) { |
489 | /* process anticipated on has exited or timed out*/ | 489 | /* process anticipated on has exited or timed out*/ |
@@ -844,7 +844,7 @@ static void as_completed_request(struct request_queue *q, struct request *rq) | |||
844 | if (ad->changed_batch && ad->nr_dispatched == 1) { | 844 | if (ad->changed_batch && ad->nr_dispatched == 1) { |
845 | ad->current_batch_expires = jiffies + | 845 | ad->current_batch_expires = jiffies + |
846 | ad->batch_expire[ad->batch_data_dir]; | 846 | ad->batch_expire[ad->batch_data_dir]; |
847 | kblockd_schedule_work(&ad->antic_work); | 847 | kblockd_schedule_work(q, &ad->antic_work); |
848 | ad->changed_batch = 0; | 848 | ad->changed_batch = 0; |
849 | 849 | ||
850 | if (ad->batch_data_dir == REQ_SYNC) | 850 | if (ad->batch_data_dir == REQ_SYNC) |
diff --git a/block/blk-core.c b/block/blk-core.c index 527b3382a610..9c6f818d0c33 100644 --- a/block/blk-core.c +++ b/block/blk-core.c | |||
@@ -305,7 +305,7 @@ void blk_unplug_timeout(unsigned long data) | |||
305 | blk_add_trace_pdu_int(q, BLK_TA_UNPLUG_TIMER, NULL, | 305 | blk_add_trace_pdu_int(q, BLK_TA_UNPLUG_TIMER, NULL, |
306 | q->rq.count[READ] + q->rq.count[WRITE]); | 306 | q->rq.count[READ] + q->rq.count[WRITE]); |
307 | 307 | ||
308 | kblockd_schedule_work(&q->unplug_work); | 308 | kblockd_schedule_work(q, &q->unplug_work); |
309 | } | 309 | } |
310 | 310 | ||
311 | void blk_unplug(struct request_queue *q) | 311 | void blk_unplug(struct request_queue *q) |
@@ -346,7 +346,7 @@ void blk_start_queue(struct request_queue *q) | |||
346 | queue_flag_clear(QUEUE_FLAG_REENTER, q); | 346 | queue_flag_clear(QUEUE_FLAG_REENTER, q); |
347 | } else { | 347 | } else { |
348 | blk_plug_device(q); | 348 | blk_plug_device(q); |
349 | kblockd_schedule_work(&q->unplug_work); | 349 | kblockd_schedule_work(q, &q->unplug_work); |
350 | } | 350 | } |
351 | } | 351 | } |
352 | EXPORT_SYMBOL(blk_start_queue); | 352 | EXPORT_SYMBOL(blk_start_queue); |
@@ -411,7 +411,7 @@ void __blk_run_queue(struct request_queue *q) | |||
411 | queue_flag_clear(QUEUE_FLAG_REENTER, q); | 411 | queue_flag_clear(QUEUE_FLAG_REENTER, q); |
412 | } else { | 412 | } else { |
413 | blk_plug_device(q); | 413 | blk_plug_device(q); |
414 | kblockd_schedule_work(&q->unplug_work); | 414 | kblockd_schedule_work(q, &q->unplug_work); |
415 | } | 415 | } |
416 | } | 416 | } |
417 | } | 417 | } |
@@ -1959,7 +1959,7 @@ void blk_rq_bio_prep(struct request_queue *q, struct request *rq, | |||
1959 | rq->rq_disk = bio->bi_bdev->bd_disk; | 1959 | rq->rq_disk = bio->bi_bdev->bd_disk; |
1960 | } | 1960 | } |
1961 | 1961 | ||
1962 | int kblockd_schedule_work(struct work_struct *work) | 1962 | int kblockd_schedule_work(struct request_queue *q, struct work_struct *work) |
1963 | { | 1963 | { |
1964 | return queue_work(kblockd_workqueue, work); | 1964 | return queue_work(kblockd_workqueue, work); |
1965 | } | 1965 | } |
diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c index 1e2aff812ee2..5f6fd287c185 100644 --- a/block/cfq-iosched.c +++ b/block/cfq-iosched.c | |||
@@ -244,7 +244,7 @@ static inline void cfq_schedule_dispatch(struct cfq_data *cfqd) | |||
244 | { | 244 | { |
245 | if (cfqd->busy_queues) { | 245 | if (cfqd->busy_queues) { |
246 | cfq_log(cfqd, "schedule dispatch"); | 246 | cfq_log(cfqd, "schedule dispatch"); |
247 | kblockd_schedule_work(&cfqd->unplug_work); | 247 | kblockd_schedule_work(cfqd->queue, &cfqd->unplug_work); |
248 | } | 248 | } |
249 | } | 249 | } |
250 | 250 | ||
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index 1adb03827bd3..10aa46c8f170 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h | |||
@@ -912,7 +912,7 @@ static inline void put_dev_sector(Sector p) | |||
912 | } | 912 | } |
913 | 913 | ||
914 | struct work_struct; | 914 | struct work_struct; |
915 | int kblockd_schedule_work(struct work_struct *work); | 915 | int kblockd_schedule_work(struct request_queue *q, struct work_struct *work); |
916 | void kblockd_flush_work(struct work_struct *work); | 916 | void kblockd_flush_work(struct work_struct *work); |
917 | 917 | ||
918 | #define MODULE_ALIAS_BLOCKDEV(major,minor) \ | 918 | #define MODULE_ALIAS_BLOCKDEV(major,minor) \ |