mm: don't raise MEMCG_OOM event due to failed high-order allocation
[muen/linux.git] / mm / memcontrol.c
index 92d38c88250ffff8549438d6da0a07e2c36498c9..10a9b554d69f3e9c2c99a36e792565b881efabc9 100644 (file)
@@ -1669,6 +1669,8 @@ static enum oom_status mem_cgroup_oom(struct mem_cgroup *memcg, gfp_t mask, int
        if (order > PAGE_ALLOC_COSTLY_ORDER)
                return OOM_SKIPPED;
 
+       memcg_memory_event(memcg, MEMCG_OOM);
+
        /*
         * We are in the middle of the charge context here, so we
         * don't want to block when potentially sitting on a callstack
@@ -2250,8 +2252,6 @@ retry:
        if (fatal_signal_pending(current))
                goto force;
 
-       memcg_memory_event(mem_over_limit, MEMCG_OOM);
-
        /*
         * keep retrying as long as the memcg oom killer is able to make
         * a forward progress or bypass the charge if the oom killer