Re: 2.1.36 Bug report: Hard-run processes lock out others.

Kristofer T. Karas (ktk@ktk.bidmc.harvard.edu)
Mon, 5 May 1997 11:45:23 -0400


From: alan@spri.levels.unisa.edu.au (Alan Modra)
No such problem on my pentium-133 with 2.1.36.
&
Date: Sun, 4 May 1997 13:38:58 +0200
From: Pavel Machek <pavel@Elf.mj.gts.cz>

> Synopsis: The RC5 challenge client (and other non-page-fault,
> non-blocked programs) lock 2.1.36 while running.
> echo "main() { while 1; }" > foo.c ; gcc -o foo foo.c ; foo
~~~ (1)
Mia culpa. Typing too quickly.

No, no. Everything is working for me (2.1.36 on 486DX2)
Top shows everything ok for me.

Top shows things are fine? Really? Well, have I got a top for you! :-)
Try this one:

12:15am up 1:49, 1 user, load average: 8.00, 8.01, 7.83
22 processes: 12 sleeping, 10 running, 0 zombie, 0 stopped
CPU states: 0.0% user, 0.0% system, 0.0% nice, 100.0% idle
Mem: 63084K av, 13888K used, 49196K free, 6016K shrd, 3236K buff
Swap: 62488K av, 0K used, 62488K free 6436K cached

PID USER PRI NI SIZE RES SHRD STAT %CPU %MEM TIME COMMAND
1 root 9 0 844 336 260 S 0.0 0.5 0:00 init
2 root 0 0 0 0 0 SW 0.0 0.0 0:00 kflushd
3 root -12 -12 0 0 0 SW< 0.0 0.0 0:00 kswapd
182 root 15 0 1168 636 492 S 0.0 1.0 0:00 -bash
240 root 20 -4 840 344 276 R < 0.0 0.5 0:00 /bin/login -- root
29 root 15 0 840 336 324 R 0.0 0.5 0:00 /usr/sbin/crond -l10
7 root 0 0 820 252 196 R 0.0 0.3 0:00 update
14 root 0 0 832 312 240 S 0.0 0.4 0:00 /sbin/kerneld
41 root 0 0 852 404 312 S 0.0 0.6 0:00 /usr/sbin/syslogd
43 root 0 0 844 340 260 S 0.0 0.5 0:00 /usr/sbin/klogd
241 root 20 -4 840 344 276 R < 0.0 0.5 0:00 /bin/login -- root
47 root 0 0 844 336 264 S 0.0 0.5 0:00 /usr/sbin/inetd
49 root 0 0 856 316 252 S 0.0 0.5 0:00 /usr/sbin/lpd
239 root 20 -4 840 344 276 R < 0.0 0.5 0:00 /bin/login -- root
242 root 20 -4 840 344 276 R < 0.0 0.5 0:00 /bin/login -- root
60 root 0 0 848 324 264 S 0.0 0.5 0:00 gpm -t ms
208 root 0 0 920 448 332 R 0.0 0.7 0:00 top
244 root 15 0 820 184 132 R 0.0 0.2 0:00 foo
245 root 15 0 1116 476 444 S 0.0 0.7 0:00 /bin/sh -c /usr/lib/
72 root 0 0 1168 632 488 S 0.0 1.0 0:00 -bash
246 root 15 0 1116 476 444 R 0.0 0.7 0:00 /bin/sh -c /usr/lib/
247 root 15 0 840 336 324 R 0.0 0.5 0:00 /usr/sbin/crond -l10

Note: %CPU shows 0 despite clean recompiles of procps-1.01.
Ten programs are running, despite it claiming 100.0% idle.
Eight of the ten programs (except 'top' and 'foo') are wedged.

Additional notes:
Just to prove to myself that I wasn't seeing things, and that this
wasn't some fluke bogon relegated to my desktop PC at work, I tried
compiling 2.1.36 at home, a completely different setup in terms of
device drivers, hardware boards, etc. I compiled in only the bare
essentials: EIDE hard disk, IPC, PCI, VideoSelect, Sysctl, Loadable
modules, Console/VT, ext2/proc/vfat filesys, dumb serial. And guess
what? It did exactly the same thing. The 'top' output above is
actually from my home PC.

Hunch: Maybe this is due to SMP choking on a uniprocessor system?
'Make config' does not offer to disable __SMP__, so I assumed from
that it was OK to leave SMP declared in the top-level Makefile.

______________________________________________________________________________
Kristofer Karas - Sr Clinical Sys Admin - Beth Israel Deaconess Medical Center
mailto:ktk@ktk.bidmc.harvard.edu http://ktk.bidmc.harvard.edu/~ktk/
AMA/CCS, DoD, RF900RR, HawkGT, !car - Will design LISP machines for food :-)
"Health nuts are going to feel stupid someday, lying in hospitals dying
of nothing." -- Redd Foxx
------------------------------------------------------------------------------