diff options
Diffstat (limited to 'block/elevator.c')
-rw-r--r-- | block/elevator.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/block/elevator.c b/block/elevator.c index 788d2d81994c..e643291793a4 100644 --- a/block/elevator.c +++ b/block/elevator.c | |||
@@ -161,12 +161,12 @@ __setup("elevator=", elevator_setup); | |||
161 | 161 | ||
162 | static struct kobj_type elv_ktype; | 162 | static struct kobj_type elv_ktype; |
163 | 163 | ||
164 | static elevator_t *elevator_alloc(struct elevator_type *e) | 164 | static elevator_t *elevator_alloc(request_queue_t *q, struct elevator_type *e) |
165 | { | 165 | { |
166 | elevator_t *eq; | 166 | elevator_t *eq; |
167 | int i; | 167 | int i; |
168 | 168 | ||
169 | eq = kmalloc(sizeof(elevator_t), GFP_KERNEL); | 169 | eq = kmalloc_node(sizeof(elevator_t), GFP_KERNEL, q->node); |
170 | if (unlikely(!eq)) | 170 | if (unlikely(!eq)) |
171 | goto err; | 171 | goto err; |
172 | 172 | ||
@@ -178,7 +178,8 @@ static elevator_t *elevator_alloc(struct elevator_type *e) | |||
178 | eq->kobj.ktype = &elv_ktype; | 178 | eq->kobj.ktype = &elv_ktype; |
179 | mutex_init(&eq->sysfs_lock); | 179 | mutex_init(&eq->sysfs_lock); |
180 | 180 | ||
181 | eq->hash = kmalloc(sizeof(struct hlist_head) * ELV_HASH_ENTRIES, GFP_KERNEL); | 181 | eq->hash = kmalloc_node(sizeof(struct hlist_head) * ELV_HASH_ENTRIES, |
182 | GFP_KERNEL, q->node); | ||
182 | if (!eq->hash) | 183 | if (!eq->hash) |
183 | goto err; | 184 | goto err; |
184 | 185 | ||
@@ -224,7 +225,7 @@ int elevator_init(request_queue_t *q, char *name) | |||
224 | e = elevator_get("noop"); | 225 | e = elevator_get("noop"); |
225 | } | 226 | } |
226 | 227 | ||
227 | eq = elevator_alloc(e); | 228 | eq = elevator_alloc(q, e); |
228 | if (!eq) | 229 | if (!eq) |
229 | return -ENOMEM; | 230 | return -ENOMEM; |
230 | 231 | ||
@@ -987,7 +988,7 @@ static int elevator_switch(request_queue_t *q, struct elevator_type *new_e) | |||
987 | /* | 988 | /* |
988 | * Allocate new elevator | 989 | * Allocate new elevator |
989 | */ | 990 | */ |
990 | e = elevator_alloc(new_e); | 991 | e = elevator_alloc(q, new_e); |
991 | if (!e) | 992 | if (!e) |
992 | return 0; | 993 | return 0; |
993 | 994 | ||