diff options
author | Daniel Vetter <daniel.vetter@ffwll.ch> | 2013-03-19 04:47:30 -0400 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2013-03-19 04:47:30 -0400 |
commit | 0d4a42f6bd298e826620585e766a154ab460617a (patch) | |
tree | 406d8f7778691d858dbe3e48e4bbb10e99c0a58a /include/linux/elevator.h | |
parent | d62b4892f3d9f7dd2002e5309be10719d6805b0f (diff) | |
parent | a937536b868b8369b98967929045f1df54234323 (diff) |
Merge tag 'v3.9-rc3' into drm-intel-next-queued
Backmerge so that I can merge Imre Deak's coalesced sg entries fixes,
which depend upon the new for_each_sg_page introduce in
commit a321e91b6d73ed011ffceed384c40d2785cf723b
Author: Imre Deak <imre.deak@intel.com>
Date: Wed Feb 27 17:02:56 2013 -0800
lib/scatterlist: add simple page iterator
The merge itself is just two trivial conflicts:
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'include/linux/elevator.h')
-rw-r--r-- | include/linux/elevator.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/include/linux/elevator.h b/include/linux/elevator.h index c03af7687bb4..acd0312d46fb 100644 --- a/include/linux/elevator.h +++ b/include/linux/elevator.h | |||
@@ -2,6 +2,7 @@ | |||
2 | #define _LINUX_ELEVATOR_H | 2 | #define _LINUX_ELEVATOR_H |
3 | 3 | ||
4 | #include <linux/percpu.h> | 4 | #include <linux/percpu.h> |
5 | #include <linux/hashtable.h> | ||
5 | 6 | ||
6 | #ifdef CONFIG_BLOCK | 7 | #ifdef CONFIG_BLOCK |
7 | 8 | ||
@@ -96,6 +97,8 @@ struct elevator_type | |||
96 | struct list_head list; | 97 | struct list_head list; |
97 | }; | 98 | }; |
98 | 99 | ||
100 | #define ELV_HASH_BITS 6 | ||
101 | |||
99 | /* | 102 | /* |
100 | * each queue has an elevator_queue associated with it | 103 | * each queue has an elevator_queue associated with it |
101 | */ | 104 | */ |
@@ -105,8 +108,8 @@ struct elevator_queue | |||
105 | void *elevator_data; | 108 | void *elevator_data; |
106 | struct kobject kobj; | 109 | struct kobject kobj; |
107 | struct mutex sysfs_lock; | 110 | struct mutex sysfs_lock; |
108 | struct hlist_head *hash; | ||
109 | unsigned int registered:1; | 111 | unsigned int registered:1; |
112 | DECLARE_HASHTABLE(hash, ELV_HASH_BITS); | ||
110 | }; | 113 | }; |
111 | 114 | ||
112 | /* | 115 | /* |
@@ -138,6 +141,7 @@ extern void elv_drain_elevator(struct request_queue *); | |||
138 | /* | 141 | /* |
139 | * io scheduler registration | 142 | * io scheduler registration |
140 | */ | 143 | */ |
144 | extern void __init load_default_elevator_module(void); | ||
141 | extern int elv_register(struct elevator_type *); | 145 | extern int elv_register(struct elevator_type *); |
142 | extern void elv_unregister(struct elevator_type *); | 146 | extern void elv_unregister(struct elevator_type *); |
143 | 147 | ||
@@ -206,5 +210,9 @@ enum { | |||
206 | INIT_LIST_HEAD(&(rq)->csd.list); \ | 210 | INIT_LIST_HEAD(&(rq)->csd.list); \ |
207 | } while (0) | 211 | } while (0) |
208 | 212 | ||
213 | #else /* CONFIG_BLOCK */ | ||
214 | |||
215 | static inline void load_default_elevator_module(void) { } | ||
216 | |||
209 | #endif /* CONFIG_BLOCK */ | 217 | #endif /* CONFIG_BLOCK */ |
210 | #endif | 218 | #endif |