Re: [Announce] [patch] Modular Scheduler Core and Completely Fair Scheduler [CFS]

Eric W. Biederman
2007-04-14T17:17:33Z

Ingo Molnar <mingo@elte.hu> writes:

> * Willy Tarreau <w@1wt.eu> wrote:
>
>> On Sat, Apr 14, 2007 at 03:01:01PM +0200, Willy Tarreau wrote:
>> >
>> > Well, I'll stop heating the room for now as I get out of ideas about how
>> > to defeat it.
>>
>> Ah, I found something nasty.
>> If I start large batches of processes like this :
>>
>> $ for i in $(seq 1 1000); do ./scheddos2 4000 4000 & done
>>
>> the ramp up slows down after 700-800 processes, but something very
>> strange happens. If I'm under X, I can switch the focus to all xterms
>> (the WM is still alive) but all xterms are frozen. On the console,
>> after one moment I simply cannot switch to another VT anymore while I
>> can still start commands locally. But "chvt 2" simply blocks. SysRq-K
>> killed everything and restored full control. Dmesg shows lots of :
>
>> SAK: killed process xxxx (scheddos2): process_session(p)==tty->session.

This. Yes. SAK is noisy and tells you everything it kills.

>> I wonder if part of the problem would be too many processes bound to
>> the same tty :-/
>
> hm, that's really weird. I've Cc:-ed the tty experts (Erik, Jiri, Alan),
> maybe this description rings a bell with them?

Is there any swapping going on?

I'm inclined to suspect that it is a problem that has more to do with the
number of processes and has nothing to do with ttys.

Anyway you can easily rule out ttys by having your startup program
detach from a controlling tty before you start everything.

I'm more inclined to guess something is reading /proc a lot, or doing
something that holds the tasklist lock, a lot or something like that,
if the problem isn't that you are being kicked into swap.

Eric