Re: [PATCH 1/2 v2] memcg: make oom_lock 0 and 1 based rather thancoutner

From: Andrew Morton
Date: Thu Jul 21 2011 - 16:58:37 EST


On Wed, 13 Jul 2011 13:05:49 +0200
Michal Hocko <mhocko@xxxxxxx> wrote:

> @@ -1893,6 +1942,8 @@ bool mem_cgroup_handle_oom(struct mem_cgroup *mem, gfp_t mask)

does:

: memcg_wakeup_oom(mem);
: mutex_unlock(&memcg_oom_mutex);
:
: mem_cgroup_unmark_under_oom(mem);
:
: if (test_thread_flag(TIF_MEMDIE) || fatal_signal_pending(current))
: return false;
: /* Give chance to dying process */
: schedule_timeout(1);
: return true;
: }

Calling schedule_timeout() in state TASK_RUNNING is equivalent to
calling schedule() and then pointlessly wasting some CPU cycles.

Someone might want to take a look at that, and wonder why this bug
wasn't detected in testing ;)

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/