Commit 179b68bb authored by Andrew Morton's avatar Andrew Morton Committed by Linus Torvalds

[PATCH] Use kblockd for running request queues

Using keventd for running request_fns is risky because keventd itself can
block on disk I/O.  Use the new kblockd kernel threads for the generic
unplugging.
parent 97ff29c2
...@@ -1068,7 +1068,7 @@ static void blk_unplug_timeout(unsigned long data) ...@@ -1068,7 +1068,7 @@ static void blk_unplug_timeout(unsigned long data)
{ {
request_queue_t *q = (request_queue_t *)data; request_queue_t *q = (request_queue_t *)data;
schedule_work(&q->unplug_work); kblockd_schedule_work(&q->unplug_work);
} }
/** /**
...@@ -1176,7 +1176,7 @@ void blk_cleanup_queue(request_queue_t * q) ...@@ -1176,7 +1176,7 @@ void blk_cleanup_queue(request_queue_t * q)
elevator_exit(q); elevator_exit(q);
del_timer_sync(&q->unplug_timer); del_timer_sync(&q->unplug_timer);
flush_scheduled_work(); kblockd_flush();
mempool_destroy(rl->rq_pool); mempool_destroy(rl->rq_pool);
......
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