Re: [PATCH] oom: add pending SIGKILL check for chosen victim

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

 



On 04/24, Michal Hocko wrote:
>
> On Wed 24-04-13 16:55:14, Oleg Nesterov wrote:
> >
> > But I can't understand how this patch can fix the problem, I think it
> > can't.
> >
> > From the changelog:
> >
> > 	When SIGKILL is sent to a task, it's also sent to all tasks in the same
> > 	threadgroup. This information can be used to prevent triggering further
> > 	oom killers for this threadgroup and avoid the infinite loop.
> >                                              ^^^^^^^^^^^^^^^^^^^^^^^
> >
> > How??
>
> I guess it assumes that fatal_signal_pending() is still true even when
> the process is unhashed already.

No, it is not (in general). The task can dequeue this SIGKIL and then
exit. But this doesn't matter.

> Which sounds like a workaround to me.

The task can do everything after we check PF_EXITING or whatever else.
Just suppose it is alive and running, but before we take tasklist_lock
it exits and removes itself from list.

But wait, I forgot that "p" is not necessarily the main thread, so
the patch I sent is not enough...

Oh, and this reminds me again but we can race with exec... but this
is mostly theoretical. should be fixed anyway.

I'll try to think more tomorrow. I need to recall the previous discussion
at least.

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]