On 20/10/2007, Jeff Garzik <jeff@garzik.org> wrote:
I think, the following information would be helpful :
(1) # cat /proc/PID/stat ; sleep 5; cat /proc/PID/stat
as we could know :
- whether utime or/and stime keeps increasing ;
- one of the fields is actually 'eip' ... so we could, hopefully, more
or less precisely localize the area of the code where it's looping.
(do_task_stat() in fs/proc/array.c)
(2) # cat /proc/sched_debug;
and
# cat /proc/PID/sched
(if your kernel has CONFIG_SCHED_DEBUG=y)
(3) is anything else able to run on this CPU (as I understand it's
SMP) or the task does completely locks it up.
again, one of the fields of /proc/PID/stat is the CPU# on which the
task is currently active.
Let's start a buzy-loop task on this cpu and see wheather it's able to
make any progress (TIME counter in 'ps')
# taskset -c THIS_CPU some_busy_looping_prog
TIA,
--
Best regards,
Dmitry Adamushko
-