aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/blkdev.h
diff options
context:
space:
mode:
authorJens Axboe <jaxboe@fusionio.com>2011-04-15 09:49:07 -0400
committerJens Axboe <jaxboe@fusionio.com>2011-04-15 09:49:07 -0400
commitf6603783f9f099bf7a83b3f6c689bbbf74f0e96e (patch)
tree450065f77e95b6cd0eee13c9d8f721016be79839 /include/linux/blkdev.h
parent88b996cd0652280cc9b9fc70008fda15f14175e1 (diff)
block: only force kblockd unplugging from the schedule() path
For the explicit unplugging, we'd prefer to kick things off immediately and not pay the penalty of the latency to switch to kblockd. So let blk_finish_plug() do the run inline, while the implicit-on-schedule-out unplug will punt to kblockd. Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Diffstat (limited to 'include/linux/blkdev.h')
-rw-r--r--include/linux/blkdev.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index ffe48ff318f9..1c76506fcf11 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@ -865,14 +865,14 @@ struct blk_plug {
865 865
866extern void blk_start_plug(struct blk_plug *); 866extern void blk_start_plug(struct blk_plug *);
867extern void blk_finish_plug(struct blk_plug *); 867extern void blk_finish_plug(struct blk_plug *);
868extern void blk_flush_plug_list(struct blk_plug *); 868extern void blk_flush_plug_list(struct blk_plug *, bool);
869 869
870static inline void blk_flush_plug(struct task_struct *tsk) 870static inline void blk_flush_plug(struct task_struct *tsk)
871{ 871{
872 struct blk_plug *plug = tsk->plug; 872 struct blk_plug *plug = tsk->plug;
873 873
874 if (plug) 874 if (plug)
875 blk_flush_plug_list(plug); 875 blk_flush_plug_list(plug, true);
876} 876}
877 877
878static inline bool blk_needs_flush_plug(struct task_struct *tsk) 878static inline bool blk_needs_flush_plug(struct task_struct *tsk)