Messages in this thread Patch in this message | | | Date | Sat, 20 Oct 2007 16:20:15 +0400 | From | Oleg Nesterov <> | Subject | [PATCH 1/2] cfq_exit_queue() should cancel cfq_data->unplug_work |
| |
(untested, needs an explicit ack/nack from maintainer)
Spotted by Nick <gentuu@gmail.com>, perhaps explains the first trace in http://bugzilla.kernel.org/show_bug.cgi?id=9180.
cfq_exit_queue() should cancel cfqd->unplug_work before freeing cfqd. blk_sync_queue() seems unneeded, removed.
Q: why cfq_exit_queue() calls cfq_shutdown_timer_wq() twice?
Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
--- K/block/cfq-iosched.c~1_cfq 2007-08-09 19:59:26.000000000 +0400 +++ K/block/cfq-iosched.c 2007-10-20 15:48:35.000000000 +0400 @@ -2053,7 +2053,7 @@ static void cfq_shutdown_timer_wq(struct { del_timer_sync(&cfqd->idle_slice_timer); del_timer_sync(&cfqd->idle_class_timer); - blk_sync_queue(cfqd->queue); + kblockd_flush_work(&cfqd->unplug_work); } static void cfq_put_async_queues(struct cfq_data *cfqd) - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |