Re: [PATCH 3/5] oom: create oom autogroup

From: Mike Galbraith
Date: Tue Mar 22 2011 - 22:41:58 EST


On Wed, 2011-03-23 at 10:27 +0900, KOSAKI Motohiro wrote:
> > On Tue, Mar 22, 2011 at 8:08 PM, KOSAKI Motohiro
> > <kosaki.motohiro@xxxxxxxxxxxxxx> wrote:
> > > When plenty processes (eg fork bomb) are running, the TIF_MEMDIE task
> > > never exit, at least, human feel it's never. therefore kernel become
> > > hang-up.
> > >
> > > "perf sched" tell us a hint.
> > >
> > > ------------------------------------------------------------------------------
> > > Task | Runtime ms | Average delay ms | Maximum delay ms |
> > > ------------------------------------------------------------------------------
> > > python:1754 | 0.197 ms | avg: 1731.727 ms | max: 3433.805 ms |
> > > python:1843 | 0.489 ms | avg: 1707.433 ms | max: 3622.955 ms |
> > > python:1715 | 0.220 ms | avg: 1707.125 ms | max: 3623.246 ms |
> > > python:1818 | 2.127 ms | avg: 1527.331 ms | max: 3622.553 ms |
> > > ...
> > > ...
> > >
> > > Processes flood makes crazy scheduler delay. and then the victim process
> > > can't run enough. Grr. Should we do?
> > >
> > > Fortunately, we already have anti process flood framework, autogroup!
> > > This patch reuse this framework and avoid kernel live lock.
> >
> > That's cool idea but I have a concern.
> >
> > You remove boosting priority in [2/5] and move victim tasks into autogroup.
> > If I understand autogroup right, victim process and threads in the
> > process take less schedule chance than now.
>
> Right. Icky cpu-cgroup rt-runtime default enforce me to seek another solution.

I was going to mention rt, and there's s/fork/clone as well.

> Today, I got private mail from Luis and he seems to have another improvement
> idea. so, I might drop this patch if his one works fine.

Perhaps if TIF_MEMDIE threads needs special treatment, preemption tests
could take that into account? (though I don't like touching fast path
for oddball cases)

-Mike





--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/