diff options
Diffstat (limited to 'block/as-iosched.c')
-rw-r--r-- | block/as-iosched.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/block/as-iosched.c b/block/as-iosched.c index 8e1fef1eafc9..f6dc95489316 100644 --- a/block/as-iosched.c +++ b/block/as-iosched.c | |||
@@ -210,9 +210,9 @@ static struct as_io_context *alloc_as_io_context(void) | |||
210 | * If the current task has no AS IO context then create one and initialise it. | 210 | * If the current task has no AS IO context then create one and initialise it. |
211 | * Then take a ref on the task's io context and return it. | 211 | * Then take a ref on the task's io context and return it. |
212 | */ | 212 | */ |
213 | static struct io_context *as_get_io_context(void) | 213 | static struct io_context *as_get_io_context(int node) |
214 | { | 214 | { |
215 | struct io_context *ioc = get_io_context(GFP_ATOMIC); | 215 | struct io_context *ioc = get_io_context(GFP_ATOMIC, node); |
216 | if (ioc && !ioc->aic) { | 216 | if (ioc && !ioc->aic) { |
217 | ioc->aic = alloc_as_io_context(); | 217 | ioc->aic = alloc_as_io_context(); |
218 | if (!ioc->aic) { | 218 | if (!ioc->aic) { |
@@ -1148,7 +1148,7 @@ static void as_add_request(request_queue_t *q, struct request *rq) | |||
1148 | 1148 | ||
1149 | data_dir = rq_is_sync(rq); | 1149 | data_dir = rq_is_sync(rq); |
1150 | 1150 | ||
1151 | rq->elevator_private = as_get_io_context(); | 1151 | rq->elevator_private = as_get_io_context(q->node); |
1152 | 1152 | ||
1153 | if (RQ_IOC(rq)) { | 1153 | if (RQ_IOC(rq)) { |
1154 | as_update_iohist(ad, RQ_IOC(rq)->aic, rq); | 1154 | as_update_iohist(ad, RQ_IOC(rq)->aic, rq); |
@@ -1292,7 +1292,7 @@ static int as_may_queue(request_queue_t *q, int rw) | |||
1292 | struct io_context *ioc; | 1292 | struct io_context *ioc; |
1293 | if (ad->antic_status == ANTIC_WAIT_REQ || | 1293 | if (ad->antic_status == ANTIC_WAIT_REQ || |
1294 | ad->antic_status == ANTIC_WAIT_NEXT) { | 1294 | ad->antic_status == ANTIC_WAIT_NEXT) { |
1295 | ioc = as_get_io_context(); | 1295 | ioc = as_get_io_context(q->node); |
1296 | if (ad->io_context == ioc) | 1296 | if (ad->io_context == ioc) |
1297 | ret = ELV_MQUEUE_MUST; | 1297 | ret = ELV_MQUEUE_MUST; |
1298 | put_io_context(ioc); | 1298 | put_io_context(ioc); |