|
@@ -1605,7 +1605,7 @@ static struct blk_mq_tags *blk_mq_init_rq_map(struct blk_mq_tag_set *set,
|
|
|
INIT_LIST_HEAD(&tags->page_list);
|
|
|
|
|
|
tags->rqs = kzalloc_node(set->queue_depth * sizeof(struct request *),
|
|
|
- GFP_KERNEL | __GFP_NOWARN | __GFP_NORETRY,
|
|
|
+ GFP_NOIO | __GFP_NOWARN | __GFP_NORETRY,
|
|
|
set->numa_node);
|
|
|
if (!tags->rqs) {
|
|
|
blk_mq_free_tags(tags);
|
|
@@ -1631,7 +1631,7 @@ static struct blk_mq_tags *blk_mq_init_rq_map(struct blk_mq_tag_set *set,
|
|
|
|
|
|
do {
|
|
|
page = alloc_pages_node(set->numa_node,
|
|
|
- GFP_KERNEL | __GFP_NOWARN | __GFP_NORETRY | __GFP_ZERO,
|
|
|
+ GFP_NOIO | __GFP_NOWARN | __GFP_NORETRY | __GFP_ZERO,
|
|
|
this_order);
|
|
|
if (page)
|
|
|
break;
|
|
@@ -1652,7 +1652,7 @@ static struct blk_mq_tags *blk_mq_init_rq_map(struct blk_mq_tag_set *set,
|
|
|
* Allow kmemleak to scan these pages as they contain pointers
|
|
|
* to additional allocations like via ops->init_request().
|
|
|
*/
|
|
|
- kmemleak_alloc(p, order_to_size(this_order), 1, GFP_KERNEL);
|
|
|
+ kmemleak_alloc(p, order_to_size(this_order), 1, GFP_NOIO);
|
|
|
entries_per_page = order_to_size(this_order) / rq_size;
|
|
|
to_do = min(entries_per_page, set->queue_depth - i);
|
|
|
left -= to_do * rq_size;
|