Messages in this thread | | | Date | Tue, 28 Apr 2015 15:40:05 -0700 (PDT) | From | David Rientjes <> | Subject | Re: [PATCH 4/9] mm: oom_kill: generalize OOM progress waitqueue |
| |
On Mon, 27 Apr 2015, Johannes Weiner wrote:
> It turns out that the mechanism to wait for exiting OOM victims is > less generic than it looks: it won't issue wakeups unless the OOM > killer is disabled. > > The reason this check was added was the thought that, since only the > OOM disabling code would wait on this queue, wakeup operations could > be saved when that specific consumer is known to be absent. > > However, this is quite the handgrenade. Later attempts to reuse the > waitqueue for other purposes will lead to completely unexpected bugs > and the failure mode will appear seemingly illogical. Generally, > providers shouldn't make unnecessary assumptions about consumers. > > This could have been replaced with waitqueue_active(), but it only > saves a few instructions in one of the coldest paths in the kernel. > Simply remove it. > > Signed-off-by: Johannes Weiner <hannes@cmpxchg.org> > Acked-by: Michal Hocko <mhocko@suse.cz>
Acked-by: David Rientjes <rientjes@google.com>
| |