Re: 2.5.66-mm2

Michal Schmidt (schmidt@kn.vutbr.cz)
Tue, 01 Apr 2003 18:38:45 +0200


Andrew Morton wrote:
>
> There is a small patch from Ingo here against the CPU scheduler
which we
> hope will fix the new starvation problems which people have been
reporting.
> I this is you, please test and report.

I patched 2.5.66 with:
http://www.zip.com.au/~akpm/linux/patches/2.5/2.5.66-mm2-1.gz

I can still easily reproduce my starvation problem with:

cat cedo.iso | bzip2 > /tmp/cedo.iso.bz2
(cedo.iso is a 700MB CD image)

On another virtual console, I run the following script to demonstrate
the starvation:

#!/bin/sh
while true; do
sleep 30
date
ps x
date
echo -----
done

At first, everything is OK:

Tue Apr 1 18:00:03 CEST 2003
PID TTY STAT TIME COMMAND
301 tty1 S 0:00 -bash
302 tty2 S 0:00 -bash
647 tty1 S 0:00 cat cedo.iso
648 tty1 R 0:54 bzip2
651 tty2 S 0:00 /bin/sh ./test-interactivity.sh
652 tty2 S 0:00 tee inter-2.5.66mm2.potreti
655 tty2 R 0:00 ps x
Tue Apr 1 18:00:03 CEST 2003
-----
Tue Apr 1 18:00:33 CEST 2003
PID TTY STAT TIME COMMAND
301 tty1 S 0:00 -bash
302 tty2 S 0:00 -bash
647 tty1 S 0:00 cat cedo.iso
648 tty1 R 1:24 bzip2
651 tty2 S 0:00 /bin/sh ./test-interactivity.sh
652 tty2 S 0:00 tee inter-2.5.66mm2.potreti
659 tty2 R 0:00 ps x
Tue Apr 1 18:00:33 CEST 2003
-----

But after a while the problem appears:

-----
Tue Apr 1 18:05:09 CEST 2003
PID TTY STAT TIME COMMAND
301 tty1 S 0:00 -bash
302 tty2 S 0:00 -bash
647 tty1 D 0:01 cat cedo.iso
648 tty1 S 5:55 bzip2
651 tty2 S 0:00 /bin/sh ./test-interactivity.sh
652 tty2 S 0:00 tee inter-2.5.66mm2.potreti
1043 tty2 R 0:00 ps x
Tue Apr 1 18:05:11 CEST 2003
-----
Tue Apr 1 18:05:49 CEST 2003
PID TTY STAT TIME COMMAND
301 tty1 S 0:00 -bash
302 tty2 S 0:00 -bash
647 tty1 S 0:01 cat cedo.iso
648 tty1 R 6:37 bzip2
651 tty2 S 0:00 /bin/sh ./test-interactivity.sh
652 tty2 S 0:00 tee inter-2.5.66mm2.potreti
1047 tty2 R 0:00 ps x
Tue Apr 1 18:05:51 CEST 2003
-----
Tue Apr 1 18:06:21 CEST 2003
PID TTY STAT TIME COMMAND
301 tty1 S 0:00 -bash
302 tty2 S 0:00 -bash
647 tty1 D 0:01 cat cedo.iso
648 tty1 S 7:23 bzip2
651 tty2 S 0:00 /bin/sh ./test-interactivity.sh
652 tty2 S 0:00 tee inter-2.5.66mm2.potreti
1051 tty2 R 0:00 ps x
Tue Apr 1 18:06:38 CEST 2003
-----
Tue Apr 1 18:07:08 CEST 2003
PID TTY STAT TIME COMMAND
301 tty1 S 0:00 -bash
302 tty2 S 0:00 -bash
647 tty1 D 0:01 cat cedo.iso
648 tty1 S 7:59 bzip2
651 tty2 S 0:00 /bin/sh ./test-interactivity.sh
652 tty2 S 0:00 tee inter-2.5.66mm2.potreti
1055 tty2 R 0:00 ps x
Tue Apr 1 18:07:14 CEST 2003
-----
Tue Apr 1 18:07:53 CEST 2003
PID TTY STAT TIME COMMAND
301 tty1 S 0:00 -bash
302 tty2 S 0:00 -bash
647 tty1 S 0:01 cat cedo.iso
648 tty1 R 8:37 bzip2
651 tty2 R 0:00 /bin/sh ./test-interactivity.sh
652 tty2 S 0:00 tee inter-2.5.66mm2.potreti
1059 tty2 R 0:00 ps x
Tue Apr 1 18:08:03 CEST 2003
-----
Tue Apr 1 18:08:33 CEST 2003
PID TTY STAT TIME COMMAND
301 tty1 S 0:00 -bash
302 tty2 S 0:00 -bash
647 tty1 D 0:01 cat cedo.iso
648 tty1 S 9:38 bzip2
651 tty2 S 0:00 /bin/sh ./test-interactivity.sh
652 tty2 S 0:00 tee inter-2.5.66mm2.potreti
1066 tty2 R 0:00 ps x
Tue Apr 1 18:08:54 CEST 2003
-----

I use Debian Woody on Athlon 800MHz, Asus A7V, 384MB RAM, disk WDC
WD800JB-00CRA1, nVidia Geforce2 MX, Realtek RTL-8139C, SB Live.
GCC is 2.95.4.

Michal

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