On Wed 25-03-15 02:17:09, 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@xxxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxx> > --- > mm/oom_kill.c | 6 +----- > 1 file changed, 1 insertion(+), 5 deletions(-) > > diff --git a/mm/oom_kill.c b/mm/oom_kill.c > index 88aa9ba40fa5..d3490b019d46 100644 > --- a/mm/oom_kill.c > +++ b/mm/oom_kill.c > @@ -437,11 +437,7 @@ void exit_oom_victim(void) > { > clear_thread_flag(TIF_MEMDIE); > > - /* > - * There is no need to signal the lasst oom_victim if there > - * is nobody who cares. > - */ > - if (!atomic_dec_return(&oom_victims) && oom_killer_disabled) > + if (!atomic_dec_return(&oom_victims)) > wake_up_all(&oom_victims_wait); > } > > -- > 2.3.3 > -- Michal Hocko SUSE Labs -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>