Re: Machine Freezes while Running Crossover Office

Linus Torvalds
2005-05-31T17:27:48Z

On Tue, 31 May 2005, Pekka Enberg wrote:
>
> On Tue, 2005-05-31 at 08:54 +0200, Ingo Molnar wrote:
> > - apply the patch below and check whether doing:
> >
> > echo 0 > /proc/sys/kernel/interactive
> >
> > makes the hang go away.
>
> It's actually /proc/sys/vm/interactive but yes, 0 makes the hang go away
> while 1 makes it come back.

Ok, it's a scheduler bug.

The pipe thing is probably implicated only because it ends up changing
some timing just enough to make the interactivity tester trigger (ie doing
reads/writes in bigger blocks makes the frequency of the ping-pong between
wineserver and wine different, and then it ends up hitting some harmonic
sweet spot with the timer that makes the scheduler believe it's
interactive).

In fact, I suspect it ends up marking things "interactive" because they do
sleep longer - both of the parties sleep longer because the other end ends
up spending more time handling the work, since the pipe buffers are bigger
(so they sleep longer because they are _awake_ longer).

Ingo, any ideas? This is bothersome, because it could hit any number of
people, and we'd never have realized because it's not usually repeatable
and not usually quite that extreme. But if it can trigger 15-second dead
periods in very specific circumstances, it can probably trigger
half-second dead periods much more easily. Things that people would assume
were due to disk IO or VM badness..

Linus