From: <sd...@et...> - 2001-05-11 06:43:33
|
I compiled UML for kernel 2.4.4 on an Dual P-III SMP system (with MAKEFLAGS=3D-j2). The compilation was successful. However, when I run it (the 'linux' executable, with only the option "ubd0=3Droot_fs_slackware_7.1_small"), it fails to start ... most of the time, but not always. It just hangs there, with no output on stdout, but eating 99.9% CPU time. When this happens, a 'ps -x' reveals that the 'linux' process has 2 threads. They have pids #n and #n+1. The thread with pid #n+1 has a status of "T", i.e. it is like a suspended process. The other thread #n keeps on running (status "R") and hence consuming 99.9% CPU time. I tried "kill -CONT n+1", but that didn't help. I suspect that this is due to some race conditions between the two threads, and that this condition can only happend when those 2 threads *physically* proceed concurrently. So, I loaded the host system with a 'gzip' process so as to (hope to) occupy one of its processors, and then tried to boot up the UML again. Under this situation, the UML always boot up successfully. (I think it could fail occasionally.) Killing the 'gzip' process after booting, the UML continues to run well. I believe what I suspected is correct. So, I'm reporting this as a bug. I guess this is because UML was not intensively tested under lightly-loaded SMP systems. --=20 Lee Sau Dan =A7=F5=A6u=B4=B0(Big5) ~= {@nJX6X~}(HZ)=20 .--------------------------------------------------------------------------= --. | e-mail: sd...@et... http://www.csis.hku.hk/~sdle= e | `--------------------------------------------------------------------------= --' |