Messages in this thread | | | Date | Fri, 18 Sep 2015 18:54:42 +0200 | From | Oleg Nesterov <> | Subject | Re: [PATCH] mm/oom_kill.c: don't kill TASK_UNINTERRUPTIBLE tasks |
| |
On 09/19, Tetsuo Handa wrote: > > Oleg Nesterov wrote: > > To simplify the discussion lets ignore PF_FROZEN, this is another issue. > > > > I am not sure this change is enough, we need to ensure that > > select_bad_process() won't pick the same task (or its sub-thread) again. > > SysRq-f is sometimes unusable because it continues choosing the same thread. > oom_kill_process() should not choose a thread which already has TIF_MEMDIE.
So I was right, this is really not enough...
> I think we need to rewrite oom_kill_process().
Heh. I can only ack the intent and wish you good luck ;)
> > And perhaps something like > > > > wait_event_timeout(oom_victims_wait, !oom_victims, > > configurable_timeout); > > > > before select_bad_process() makes sense? > > I think you should not sleep for long with oom_lock mutex held. > http://marc.info/?l=linux-mm&m=143031212312459
Yes, yes, sure, I didn't mean we should wait under oom_lock.
Oleg.
| |