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

KAMEZAWA Hiroyuki
2011-07-22T00:23:11Z

On Thu, 21 Jul 2011 13:58:17 -0700
Andrew Morton <akpm@linux-foundation.org> wrote:

> On Wed, 13 Jul 2011 13:05:49 +0200
> Michal Hocko <mhocko@suse.cz> 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.
>
Ouch (--;

> Someone might want to take a look at that, and wonder why this bug
> wasn't detected in testing ;)
>
I wonder just removing this is okay....because we didn't noticed this
in our recent oom tests.

I'll do some.

Thanks,
-Kame