Re: [PATCH 1/8] mm,oom_reaper: Remove pointless kthread_run() failure check.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Oleg Nesterov wrote:
> On 07/03, Tetsuo Handa wrote:
> >
> > If kthread_run() in oom_init() fails due to reasons other than OOM
> > (e.g. no free pid is available), userspace processes won't be able to
> > start as well.
> 
> Why?
> 
> The kernel will boot with or without your change, but
> 
> > Therefore, trying to continue with error message is
> > also pointless.
> 
> Can't understand...
> 
> I think this warning makes sense. And since you removed the oom_reaper_the
> check in wake_oom_reaper(), the kernel will leak every task_struct passed
> to wake_oom_reaper() ?

We are trying to prove that OOM livelock is impossible for CONFIG_MMU=y
kernels (as long as OOM killer is invoked) because the OOM reaper always
gives feedback to the OOM killer, right? Then, preserving code which
continues without OOM reaper no longer makes sense.

In the past discussion, I suggested Michal to use BUG_ON() or panic()
( http://lkml.kernel.org/r/20151127123525.GG2493@xxxxxxxxxxxxxx ). At that
time, we chose continue with pr_err(). If you think that kthread_run()
failure in oom_init() will ever happen, I can change my patch to call
BUG_ON() or panic(). I don't like continuing without OOM reaper.

Anyway, [PATCH 8/8] in this series removes get_task_struct().
Thus, the kernel won't leak every task_struct after all.

> 
> Oleg.
> 
> 

--
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>



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]