diff options
| author | Ingo Molnar <mingo@kernel.org> | 2014-04-14 10:44:42 -0400 |
|---|---|---|
| committer | Ingo Molnar <mingo@kernel.org> | 2014-04-14 10:44:42 -0400 |
| commit | 740c699a8d316c8bf8593f19e2ca47795e690622 (patch) | |
| tree | a78886955770a477945c5d84e06b2e7678733b54 /include/linux/blkdev.h | |
| parent | e69af4657e7764d03ad555f0b583d9c4217bcefa (diff) | |
| parent | c9eaa447e77efe77b7fa4c953bd62de8297fd6c5 (diff) | |
Merge tag 'v3.15-rc1' into perf/urgent
Pick up the latest fixes.
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'include/linux/blkdev.h')
| -rw-r--r-- | include/linux/blkdev.h | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index 4afa4f8f6090..0d84981ee03f 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h | |||
| @@ -99,6 +99,7 @@ struct request { | |||
| 99 | union { | 99 | union { |
| 100 | struct call_single_data csd; | 100 | struct call_single_data csd; |
| 101 | struct work_struct mq_flush_work; | 101 | struct work_struct mq_flush_work; |
| 102 | unsigned long fifo_time; | ||
| 102 | }; | 103 | }; |
| 103 | 104 | ||
| 104 | struct request_queue *q; | 105 | struct request_queue *q; |
| @@ -117,7 +118,18 @@ struct request { | |||
| 117 | struct bio *bio; | 118 | struct bio *bio; |
| 118 | struct bio *biotail; | 119 | struct bio *biotail; |
| 119 | 120 | ||
| 120 | struct hlist_node hash; /* merge hash */ | 121 | /* |
| 122 | * The hash is used inside the scheduler, and killed once the | ||
| 123 | * request reaches the dispatch list. The ipi_list is only used | ||
| 124 | * to queue the request for softirq completion, which is long | ||
| 125 | * after the request has been unhashed (and even removed from | ||
| 126 | * the dispatch list). | ||
| 127 | */ | ||
| 128 | union { | ||
| 129 | struct hlist_node hash; /* merge hash */ | ||
| 130 | struct list_head ipi_list; | ||
| 131 | }; | ||
| 132 | |||
| 121 | /* | 133 | /* |
| 122 | * The rb_node is only used inside the io scheduler, requests | 134 | * The rb_node is only used inside the io scheduler, requests |
| 123 | * are pruned when moved to the dispatch queue. So let the | 135 | * are pruned when moved to the dispatch queue. So let the |
| @@ -823,8 +835,8 @@ extern int blk_rq_map_user(struct request_queue *, struct request *, | |||
| 823 | extern int blk_rq_unmap_user(struct bio *); | 835 | extern int blk_rq_unmap_user(struct bio *); |
| 824 | extern int blk_rq_map_kern(struct request_queue *, struct request *, void *, unsigned int, gfp_t); | 836 | extern int blk_rq_map_kern(struct request_queue *, struct request *, void *, unsigned int, gfp_t); |
| 825 | extern int blk_rq_map_user_iov(struct request_queue *, struct request *, | 837 | extern int blk_rq_map_user_iov(struct request_queue *, struct request *, |
| 826 | struct rq_map_data *, struct sg_iovec *, int, | 838 | struct rq_map_data *, const struct sg_iovec *, |
| 827 | unsigned int, gfp_t); | 839 | int, unsigned int, gfp_t); |
| 828 | extern int blk_execute_rq(struct request_queue *, struct gendisk *, | 840 | extern int blk_execute_rq(struct request_queue *, struct gendisk *, |
| 829 | struct request *, int); | 841 | struct request *, int); |
| 830 | extern void blk_execute_rq_nowait(struct request_queue *, struct gendisk *, | 842 | extern void blk_execute_rq_nowait(struct request_queue *, struct gendisk *, |
