Messages in this thread | | | Date | Thu, 21 Jul 2011 13:58:17 -0700 | From | Andrew Morton <> | Subject | Re: [PATCH 1/2 v2] memcg: make oom_lock 0 and 1 based rather than coutner |
| |
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.
Someone might want to take a look at that, and wonder why this bug wasn't detected in testing ;)
| |