|
@@ -1661,7 +1661,7 @@ static void memcg_oom_recover(struct mem_cgroup *memcg)
|
|
|
|
|
|
static void mem_cgroup_oom(struct mem_cgroup *memcg, gfp_t mask, int order)
|
|
static void mem_cgroup_oom(struct mem_cgroup *memcg, gfp_t mask, int order)
|
|
{
|
|
{
|
|
- if (!current->memcg_oom.may_oom)
|
|
|
|
|
|
+ if (!current->memcg_may_oom)
|
|
return;
|
|
return;
|
|
/*
|
|
/*
|
|
* We are in the middle of the charge context here, so we
|
|
* We are in the middle of the charge context here, so we
|
|
@@ -1678,9 +1678,9 @@ static void mem_cgroup_oom(struct mem_cgroup *memcg, gfp_t mask, int order)
|
|
* and when we know whether the fault was overall successful.
|
|
* and when we know whether the fault was overall successful.
|
|
*/
|
|
*/
|
|
css_get(&memcg->css);
|
|
css_get(&memcg->css);
|
|
- current->memcg_oom.memcg = memcg;
|
|
|
|
- current->memcg_oom.gfp_mask = mask;
|
|
|
|
- current->memcg_oom.order = order;
|
|
|
|
|
|
+ current->memcg_in_oom = memcg;
|
|
|
|
+ current->memcg_oom_gfp_mask = mask;
|
|
|
|
+ current->memcg_oom_order = order;
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -1702,7 +1702,7 @@ static void mem_cgroup_oom(struct mem_cgroup *memcg, gfp_t mask, int order)
|
|
*/
|
|
*/
|
|
bool mem_cgroup_oom_synchronize(bool handle)
|
|
bool mem_cgroup_oom_synchronize(bool handle)
|
|
{
|
|
{
|
|
- struct mem_cgroup *memcg = current->memcg_oom.memcg;
|
|
|
|
|
|
+ struct mem_cgroup *memcg = current->memcg_in_oom;
|
|
struct oom_wait_info owait;
|
|
struct oom_wait_info owait;
|
|
bool locked;
|
|
bool locked;
|
|
|
|
|
|
@@ -1730,8 +1730,8 @@ bool mem_cgroup_oom_synchronize(bool handle)
|
|
if (locked && !memcg->oom_kill_disable) {
|
|
if (locked && !memcg->oom_kill_disable) {
|
|
mem_cgroup_unmark_under_oom(memcg);
|
|
mem_cgroup_unmark_under_oom(memcg);
|
|
finish_wait(&memcg_oom_waitq, &owait.wait);
|
|
finish_wait(&memcg_oom_waitq, &owait.wait);
|
|
- mem_cgroup_out_of_memory(memcg, current->memcg_oom.gfp_mask,
|
|
|
|
- current->memcg_oom.order);
|
|
|
|
|
|
+ mem_cgroup_out_of_memory(memcg, current->memcg_oom_gfp_mask,
|
|
|
|
+ current->memcg_oom_order);
|
|
} else {
|
|
} else {
|
|
schedule();
|
|
schedule();
|
|
mem_cgroup_unmark_under_oom(memcg);
|
|
mem_cgroup_unmark_under_oom(memcg);
|
|
@@ -1748,7 +1748,7 @@ bool mem_cgroup_oom_synchronize(bool handle)
|
|
memcg_oom_recover(memcg);
|
|
memcg_oom_recover(memcg);
|
|
}
|
|
}
|
|
cleanup:
|
|
cleanup:
|
|
- current->memcg_oom.memcg = NULL;
|
|
|
|
|
|
+ current->memcg_in_oom = NULL;
|
|
css_put(&memcg->css);
|
|
css_put(&memcg->css);
|
|
return true;
|
|
return true;
|
|
}
|
|
}
|