diff options
Diffstat (limited to 'mm/oom_kill.c')
-rw-r--r-- | mm/oom_kill.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/mm/oom_kill.c b/mm/oom_kill.c index f23f33454645..4198e000f41a 100644 --- a/mm/oom_kill.c +++ b/mm/oom_kill.c | |||
@@ -554,7 +554,8 @@ static void check_panic_on_oom(enum oom_constraint constraint, gfp_t gfp_mask, | |||
554 | } | 554 | } |
555 | 555 | ||
556 | #ifdef CONFIG_CGROUP_MEM_RES_CTLR | 556 | #ifdef CONFIG_CGROUP_MEM_RES_CTLR |
557 | void mem_cgroup_out_of_memory(struct mem_cgroup *memcg, gfp_t gfp_mask) | 557 | void mem_cgroup_out_of_memory(struct mem_cgroup *memcg, gfp_t gfp_mask, |
558 | int order) | ||
558 | { | 559 | { |
559 | unsigned long limit; | 560 | unsigned long limit; |
560 | unsigned int points = 0; | 561 | unsigned int points = 0; |
@@ -570,12 +571,12 @@ void mem_cgroup_out_of_memory(struct mem_cgroup *memcg, gfp_t gfp_mask) | |||
570 | return; | 571 | return; |
571 | } | 572 | } |
572 | 573 | ||
573 | check_panic_on_oom(CONSTRAINT_MEMCG, gfp_mask, 0, NULL); | 574 | check_panic_on_oom(CONSTRAINT_MEMCG, gfp_mask, order, NULL); |
574 | limit = mem_cgroup_get_limit(memcg) >> PAGE_SHIFT; | 575 | limit = mem_cgroup_get_limit(memcg) >> PAGE_SHIFT; |
575 | read_lock(&tasklist_lock); | 576 | read_lock(&tasklist_lock); |
576 | p = select_bad_process(&points, limit, memcg, NULL, false); | 577 | p = select_bad_process(&points, limit, memcg, NULL, false); |
577 | if (p && PTR_ERR(p) != -1UL) | 578 | if (p && PTR_ERR(p) != -1UL) |
578 | oom_kill_process(p, gfp_mask, 0, points, limit, memcg, NULL, | 579 | oom_kill_process(p, gfp_mask, order, points, limit, memcg, NULL, |
579 | "Memory cgroup out of memory"); | 580 | "Memory cgroup out of memory"); |
580 | read_unlock(&tasklist_lock); | 581 | read_unlock(&tasklist_lock); |
581 | } | 582 | } |