2003-05-12 00:19:53

by Chuck Ebbert

[permalink] [raw]
Subject: Stupid question about the output of show_task()


I'm trying to decipher the output of alt-sysrq-t on i386 running
2.4.21-rc2-ac1:

free sibling
task PC stack pid father child younger older
init S 000001F0 4352 1 0 943 (NOTLB)

Why does it report the program counter as 0x1f0? This comes from
((unsigned long *)thread_struct.esp)[3], i.e. the third item from the
top of the saved process stack. Why do many of the processes show
completely invalid values for the instruction pointer? And where is
the layout for the stack of sleeping processes documented?

Some processes show large numbers that are above the kernel's space:

xfsdatad/0 S D7EE0342 6076 13 1 14 12 (L-TLB)

Many others just have zero or one for their PC:

scsi_eh_0 S 00000000 6084 14 1 15 13 (L-TLB)
kupdated S 00000001 5632 7 1 8 6 (L-TLB)