|
@@ -554,7 +554,8 @@ static void check_panic_on_oom(enum oom_constraint constraint, gfp_t gfp_mask,
|
|
|
}
|
|
|
|
|
|
#ifdef CONFIG_CGROUP_MEM_RES_CTLR
|
|
|
-void mem_cgroup_out_of_memory(struct mem_cgroup *memcg, gfp_t gfp_mask)
|
|
|
+void mem_cgroup_out_of_memory(struct mem_cgroup *memcg, gfp_t gfp_mask,
|
|
|
+ int order)
|
|
|
{
|
|
|
unsigned long limit;
|
|
|
unsigned int points = 0;
|
|
@@ -570,12 +571,12 @@ void mem_cgroup_out_of_memory(struct mem_cgroup *memcg, gfp_t gfp_mask)
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- check_panic_on_oom(CONSTRAINT_MEMCG, gfp_mask, 0, NULL);
|
|
|
+ check_panic_on_oom(CONSTRAINT_MEMCG, gfp_mask, order, NULL);
|
|
|
limit = mem_cgroup_get_limit(memcg) >> PAGE_SHIFT;
|
|
|
read_lock(&tasklist_lock);
|
|
|
p = select_bad_process(&points, limit, memcg, NULL, false);
|
|
|
if (p && PTR_ERR(p) != -1UL)
|
|
|
- oom_kill_process(p, gfp_mask, 0, points, limit, memcg, NULL,
|
|
|
+ oom_kill_process(p, gfp_mask, order, points, limit, memcg, NULL,
|
|
|
"Memory cgroup out of memory");
|
|
|
read_unlock(&tasklist_lock);
|
|
|
}
|