aboutsummaryrefslogtreecommitdiffstats
path: root/block
diff options
context:
space:
mode:
authorJens Axboe <jaxboe@fusionio.com>2011-04-12 04:11:24 -0400
committerJens Axboe <jaxboe@fusionio.com>2011-04-12 04:12:29 -0400
commit188112722cce083c8f1a7d0d84f55c2cd885920c (patch)
treeeb285b823d2dd5a7fa88e9d6a1ee77299c14ff88 /block
parent94b5eb28b41cc79d9713696e0005ae167b5afd1b (diff)
block: add comment on why we save and disable interrupts in flush_plug_list()
It's done at the top to avoid doing it for every queue we unplug. Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Diffstat (limited to 'block')
-rw-r--r--block/blk-core.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/block/blk-core.c b/block/blk-core.c
index d20ce1e849c8..0c0ea10e61ea 100644
--- a/block/blk-core.c
+++ b/block/blk-core.c
@@ -2696,6 +2696,11 @@ static void flush_plug_list(struct blk_plug *plug)
2696 2696
2697 q = NULL; 2697 q = NULL;
2698 depth = 0; 2698 depth = 0;
2699
2700 /*
2701 * Save and disable interrupts here, to avoid doing it for every
2702 * queue lock we have to take.
2703 */
2699 local_irq_save(flags); 2704 local_irq_save(flags);
2700 while (!list_empty(&list)) { 2705 while (!list_empty(&list)) {
2701 rq = list_entry_rq(list.next); 2706 rq = list_entry_rq(list.next);