At 2012-3-7 23:36, Dave Anderson wrote:
----- Original Message -----
Hello Dave,
I was recommended to add the display of ST when using ps -l. Because it
is simple, so I made the patch at first and then talk about the merit of
patch with you.
The display is like below:
crash> ps -l
[100126284069406] PID: 2389 TASK: ffff88047416aa80 ST:IN CPU: 12 COMMAND: "kondemand/12"
[100126285814043] PID: 795 TASK: ffff880470cb3540 ST:UN CPU: 0 COMMAND: "jbd2/sda2-8"
[100126284061076] PID: 2377 TASK: ffff88047426c100 ST:IN CPU: 0 COMMAND: "kondemand/0"
[100126284058337] PID: 70050 TASK: ffff88045beaeac0 ST:RU CPU: 3 COMMAND: "crash"
[100126285834369] PID: 70781 TASK: ffff88046929e100 ST:RU CPU: 0 COMMAND: "dd"
...
I think "ps -l", which displays task sorted by last_run/timestamp, is
concerning about the state of the task. Taking it into consideration, on
a live system with original code, we use "ps -l" to show the sorted
tasks at first, then use "ps" to display the state. The two pieces of
information in such situation are not consonant. This is the reason why
ST is needed.
Your patch is unacceptable as-is because it changes the task header display
for *all* context-specific commands, like "bt", "vm", "files", "task", etc.
But it does make sense that the task's timestamp and its state could
be correlated by "ps -l" output. Maybe something like this, with an
explanation in the ps help page?:
crash> ps -l
[100126284069406] [IN] PID: 2389 TASK: ffff88047416aa80 CPU: 12 COMMAND: "kondemand/12"
[100126285814043] [UN] PID: 795 TASK: ffff880470cb3540 CPU: 0 COMMAND: "jbd2/sda2-8"
[100126284061076] [IN] PID: 2377 TASK: ffff88047426c100 CPU: 0 COMMAND: "kondemand/0"
[100126284058337] [RU] PID: 70050 TASK: ffff88045beaeac0 CPU: 3 COMMAND: "crash"
[100126285834369] [RU] PID: 70781 TASK: ffff88046929e100 CPU: 0 COMMAND: "dd"
...
String like "PID: 2389 TASK: ffff88047416aa80 CPU: 12 COMMAND:
"kondemand/12"" is printed by a function. The change of the function,
which I made in the last patch, causes the change of other commands. The
new patch will add "ST:.." out of the command, the output is like below:
[2567398667393] ST:IN PID: 154 TASK: ffff880475292b40 CPU: 0
COMMAND: "kblockd/0"
[2567399925204] ST:IN PID: 4380 TASK: ffff880464665500 CPU: 1
COMMAND: "qemu-system-x86"
[2567396569308] ST:IN PID: 4411 TASK: ffff880467227500 CPU: 1
COMMAND: "qemu-system-x86"
[2567395016839] ST:RU PID: 5338 TASK: ffff880464664ac0 CPU: 2
COMMAND: "crash"
Dave
--
Crash-utility mailing list
Crash-utility@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/crash-utility
--
--
Regards
Qiao Nuohan
--------------------------------------------------
Qiao Nuohan
Development Dept.I
Nanjing Fujitsu Nanda Software Tech. Co., Ltd.(FNST)
No. 6 Wenzhu Road, Nanjing, Nanjing, 210012, China
TEL: +86+25-86630566-8526 FUJITSU
INTERNAL: 7998-8526 FAX: +86+25-83317685
EMail: qiaonuohan@xxxxxxxxxxxxxx
--------------------------------------------------
This communication is for use by the intended
recipient(s) only and may contain information that
is privileged, confidential and exempt from
disclosure under applicable law. If you are not an
intended recipient of this communication, you are
hereby notified that any dissemination,
distribution or copying hereof is strictly
prohibited. If you have received this communication
in error, please notify me by reply e-mail,
permanently delete this communication from your
system, and destroy any hard copies you may have
printed
diff --git a/help.c b/help.c
index f752283..54d30bd 100755
--- a/help.c
+++ b/help.c
@@ -1263,61 +1263,61 @@ char *help_ps[] = {
" Show all tasks sorted by their task_struct's last_run or timestamp value,",
" whichever applies:\n",
" %s> ps -l",
-" [280195] PID: 2 TASK: c1468000 CPU: 0 COMMAND: \"keventd\"",
-" [280195] PID: 1986 TASK: c5af4000 CPU: 0 COMMAND: \"sshd\"",
-" [280195] PID: 2039 TASK: c58e6000 CPU: 0 COMMAND: \"sshd\"",
-" [280195] PID: 2044 TASK: c5554000 CPU: 0 COMMAND: \"bash\"",
-" [280195] PID: 2289 TASK: c70c0000 CPU: 0 COMMAND: \"s\"",
-" [280190] PID: 1621 TASK: c54f8000 CPU: 0 COMMAND: \"cupsd\"",
-" [280184] PID: 5 TASK: c154c000 CPU: 0 COMMAND: \"kswapd\"",
-" [280184] PID: 6 TASK: c7ff6000 CPU: 0 COMMAND: \"kscand\"",
-" [280170] PID: 0 TASK: c038e000 CPU: 0 COMMAND: \"swapper\"",
-" [280166] PID: 2106 TASK: c0c0c000 CPU: 0 COMMAND: \"sshd\"",
-" [280166] PID: 2162 TASK: c03a4000 CPU: 0 COMMAND: \"vmstat\"",
-" [280160] PID: 1 TASK: c154a000 CPU: 0 COMMAND: \"init\"",
-" [280131] PID: 3 TASK: c11ce000 CPU: 0 COMMAND: \"kapmd\"",
-" [280117] PID: 1568 TASK: c5a8c000 CPU: 0 COMMAND: \"smartd\"",
-" [280103] PID: 1694 TASK: c4c66000 CPU: 0 COMMAND: \"ntpd\"",
-" [280060] PID: 8 TASK: c7ff2000 CPU: 0 COMMAND: \"kupdated\"",
-" [279767] PID: 1720 TASK: c4608000 CPU: 0 COMMAND: \"sendmail\"",
-" [279060] PID: 13 TASK: c69f4000 CPU: 0 COMMAND: \"kjournald\"",
-" [278657] PID: 1523 TASK: c5ad4000 CPU: 0 COMMAND: \"ypbind\"",
-" [277712] PID: 2163 TASK: c06e0000 CPU: 0 COMMAND: \"sshd\"",
-" [277711] PID: 2244 TASK: c4cdc000 CPU: 0 COMMAND: \"ssh\"",
-" [277261] PID: 1391 TASK: c5d8e000 CPU: 0 COMMAND: \"syslogd\"",
-" [276837] PID: 1990 TASK: c58d8000 CPU: 0 COMMAND: \"bash\"",
-" [276802] PID: 1853 TASK: c3828000 CPU: 0 COMMAND: \"atd\"",
-" [276496] PID: 1749 TASK: c4480000 CPU: 0 COMMAND: \"cannaserver\"",
-" [274931] PID: 1760 TASK: c43ac000 CPU: 0 COMMAND: \"crond\"",
-" [246773] PID: 1844 TASK: c38d8000 CPU: 0 COMMAND: \"xfs\"",
-" [125620] PID: 2170 TASK: c48dc000 CPU: 0 COMMAND: \"bash\"",
-" [119059] PID: 1033 TASK: c64be000 CPU: 0 COMMAND: \"kjournald\"",
-" [110916] PID: 1663 TASK: c528a000 CPU: 0 COMMAND: \"sshd\"",
-" [ 86122] PID: 2112 TASK: c0da6000 CPU: 0 COMMAND: \"bash\"",
-" [ 13637] PID: 1891 TASK: c67ae000 CPU: 0 COMMAND: \"sshd\"",
-" [ 13636] PID: 1894 TASK: c38ec000 CPU: 0 COMMAND: \"bash\"",
-" [ 7662] PID: 1885 TASK: c6478000 CPU: 0 COMMAND: \"mingetty\"",
-" [ 7662] PID: 1886 TASK: c62da000 CPU: 0 COMMAND: \"mingetty\"",
-" [ 7662] PID: 1887 TASK: c5f8c000 CPU: 0 COMMAND: \"mingetty\"",
-" [ 7662] PID: 1888 TASK: c5f88000 CPU: 0 COMMAND: \"mingetty\"",
-" [ 7662] PID: 1889 TASK: c5f86000 CPU: 0 COMMAND: \"mingetty\"",
-" [ 7662] PID: 1890 TASK: c6424000 CPU: 0 COMMAND: \"mingetty\"",
-" [ 7661] PID: 4 TASK: c154e000 CPU: 0 COMMAND: \"ksoftirqd/0\"",
-" [ 7595] PID: 1872 TASK: c2e7e000 CPU: 0 COMMAND: \"inventory.pl\"",
-" [ 6617] PID: 1771 TASK: c435a000 CPU: 0 COMMAND: \"jserver\"",
-" [ 6307] PID: 1739 TASK: c48f8000 CPU: 0 COMMAND: \"gpm\"",
-" [ 6285] PID: 1729 TASK: c4552000 CPU: 0 COMMAND: \"sendmail\"",
-" [ 6009] PID: 1395 TASK: c6344000 CPU: 0 COMMAND: \"klogd\"",
-" [ 5820] PID: 1677 TASK: c4d74000 CPU: 0 COMMAND: \"xinetd\"",
-" [ 5719] PID: 1422 TASK: c5d04000 CPU: 0 COMMAND: \"portmap\"",
-" [ 4633] PID: 1509 TASK: c5ed4000 CPU: 0 COMMAND: \"apmd\"",
-" [ 4529] PID: 1520 TASK: c5d98000 CPU: 0 COMMAND: \"ypbind\"",
-" [ 4515] PID: 1522 TASK: c5d32000 CPU: 0 COMMAND: \"ypbind\"",
-" [ 4373] PID: 1441 TASK: c5d48000 CPU: 0 COMMAND: \"rpc.statd\"",
-" [ 4210] PID: 1352 TASK: c5b30000 CPU: 0 COMMAND: \"dhclient\"",
-" [ 1184] PID: 71 TASK: c65b6000 CPU: 0 COMMAND: \"khubd\"",
-" [ 434] PID: 9 TASK: c11de000 CPU: 0 COMMAND: \"mdrecoveryd\"",
-" [ 48] PID: 7 TASK: c7ff4000 CPU: 0 COMMAND: \"bdflush\"",
+" [280195] ST:RU PID: 2 TASK: c1468000 CPU: 0 COMMAND: \"keventd\"",
+" [280195] ST:IN PID: 1986 TASK: c5af4000 CPU: 0 COMMAND: \"sshd\"",
+" [280195] ST:IN PID: 2039 TASK: c58e6000 CPU: 0 COMMAND: \"sshd\"",
+" [280195] ST:RU PID: 2044 TASK: c5554000 CPU: 0 COMMAND: \"bash\"",
+" [280195] ST:RU PID: 2289 TASK: c70c0000 CPU: 0 COMMAND: \"s\"",
+" [280190] ST:IN PID: 1621 TASK: c54f8000 CPU: 0 COMMAND: \"cupsd\"",
+" [280184] ST:IN PID: 5 TASK: c154c000 CPU: 0 COMMAND: \"kswapd\"",
+" [280184] ST:IN PID: 6 TASK: c7ff6000 CPU: 0 COMMAND: \"kscand\"",
+" [280170] ST:IN PID: 0 TASK: c038e000 CPU: 0 COMMAND: \"swapper\"",
+" [280166] ST:IN PID: 2106 TASK: c0c0c000 CPU: 0 COMMAND: \"sshd\"",
+" [280166] ST:IN PID: 2162 TASK: c03a4000 CPU: 0 COMMAND: \"vmstat\"",
+" [280160] ST:IN PID: 1 TASK: c154a000 CPU: 0 COMMAND: \"init\"",
+" [280131] ST:IN PID: 3 TASK: c11ce000 CPU: 0 COMMAND: \"kapmd\"",
+" [280117] ST:IN PID: 1568 TASK: c5a8c000 CPU: 0 COMMAND: \"smartd\"",
+" [280103] ST:IN PID: 1694 TASK: c4c66000 CPU: 0 COMMAND: \"ntpd\"",
+" [280060] ST:IN PID: 8 TASK: c7ff2000 CPU: 0 COMMAND: \"kupdated\"",
+" [279767] ST:IN PID: 1720 TASK: c4608000 CPU: 0 COMMAND: \"sendmail\"",
+" [279060] ST:IN PID: 13 TASK: c69f4000 CPU: 0 COMMAND: \"kjournald\"",
+" [278657] ST:IN PID: 1523 TASK: c5ad4000 CPU: 0 COMMAND: \"ypbind\"",
+" [277712] ST:IN PID: 2163 TASK: c06e0000 CPU: 0 COMMAND: \"sshd\"",
+" [277711] ST:IN PID: 2244 TASK: c4cdc000 CPU: 0 COMMAND: \"ssh\"",
+" [277261] ST:IN PID: 1391 TASK: c5d8e000 CPU: 0 COMMAND: \"syslogd\"",
+" [276837] ST:IN PID: 1990 TASK: c58d8000 CPU: 0 COMMAND: \"bash\"",
+" [276802] ST:IN PID: 1853 TASK: c3828000 CPU: 0 COMMAND: \"atd\"",
+" [276496] ST:IN PID: 1749 TASK: c4480000 CPU: 0 COMMAND: \"cannaserver\"",
+" [274931] ST:IN PID: 1760 TASK: c43ac000 CPU: 0 COMMAND: \"crond\"",
+" [246773] ST:IN PID: 1844 TASK: c38d8000 CPU: 0 COMMAND: \"xfs\"",
+" [125620] ST:IN PID: 2170 TASK: c48dc000 CPU: 0 COMMAND: \"bash\"",
+" [119059] ST:IN PID: 1033 TASK: c64be000 CPU: 0 COMMAND: \"kjournald\"",
+" [110916] ST:IN PID: 1663 TASK: c528a000 CPU: 0 COMMAND: \"sshd\"",
+" [ 86122] ST:IN PID: 2112 TASK: c0da6000 CPU: 0 COMMAND: \"bash\"",
+" [ 13637] ST:IN PID: 1891 TASK: c67ae000 CPU: 0 COMMAND: \"sshd\"",
+" [ 13636] ST:IN PID: 1894 TASK: c38ec000 CPU: 0 COMMAND: \"bash\"",
+" [ 7662] ST:IN PID: 1885 TASK: c6478000 CPU: 0 COMMAND: \"mingetty\"",
+" [ 7662] ST:IN PID: 1886 TASK: c62da000 CPU: 0 COMMAND: \"mingetty\"",
+" [ 7662] ST:IN PID: 1887 TASK: c5f8c000 CPU: 0 COMMAND: \"mingetty\"",
+" [ 7662] ST:IN PID: 1888 TASK: c5f88000 CPU: 0 COMMAND: \"mingetty\"",
+" [ 7662] ST:IN PID: 1889 TASK: c5f86000 CPU: 0 COMMAND: \"mingetty\"",
+" [ 7662] ST:IN PID: 1890 TASK: c6424000 CPU: 0 COMMAND: \"mingetty\"",
+" [ 7661] ST:IN PID: 4 TASK: c154e000 CPU: 0 COMMAND: \"ksoftirqd/0\"",
+" [ 7595] ST:IN PID: 1872 TASK: c2e7e000 CPU: 0 COMMAND: \"inventory.pl\"",
+" [ 6617] ST:IN PID: 1771 TASK: c435a000 CPU: 0 COMMAND: \"jserver\"",
+" [ 6307] ST:IN PID: 1739 TASK: c48f8000 CPU: 0 COMMAND: \"gpm\"",
+" [ 6285] ST:IN PID: 1729 TASK: c4552000 CPU: 0 COMMAND: \"sendmail\"",
+" [ 6009] ST:IN PID: 1395 TASK: c6344000 CPU: 0 COMMAND: \"klogd\"",
+" [ 5820] ST:IN PID: 1677 TASK: c4d74000 CPU: 0 COMMAND: \"xinetd\"",
+" [ 5719] ST:IN PID: 1422 TASK: c5d04000 CPU: 0 COMMAND: \"portmap\"",
+" [ 4633] ST:IN PID: 1509 TASK: c5ed4000 CPU: 0 COMMAND: \"apmd\"",
+" [ 4529] ST:IN PID: 1520 TASK: c5d98000 CPU: 0 COMMAND: \"ypbind\"",
+" [ 4515] ST:IN PID: 1522 TASK: c5d32000 CPU: 0 COMMAND: \"ypbind\"",
+" [ 4373] ST:IN PID: 1441 TASK: c5d48000 CPU: 0 COMMAND: \"rpc.statd\"",
+" [ 4210] ST:IN PID: 1352 TASK: c5b30000 CPU: 0 COMMAND: \"dhclient\"",
+" [ 1184] ST:IN PID: 71 TASK: c65b6000 CPU: 0 COMMAND: \"khubd\"",
+" [ 434] ST:IN PID: 9 TASK: c11de000 CPU: 0 COMMAND: \"mdrecoveryd\"",
+" [ 48] ST:IN PID: 7 TASK: c7ff4000 CPU: 0 COMMAND: \"bdflush\"",
" ",
" Show the kernel stack pointer of each user task:\n",
" %s> ps -us",
diff --git a/task.c b/task.c
index fde86eb..770eec2 100755
--- a/task.c
+++ b/task.c
@@ -3061,6 +3061,7 @@ show_last_run(struct task_context *tc)
struct task_context *tcp;
char format[15];
char buf[BUFSIZE];
+ char buf1[BUFSIZE];
tcp = FIRST_CONTEXT();
sprintf(buf, pc->output_radix == 10 ? "%lld" : "%llx",
@@ -3071,11 +3072,13 @@ show_last_run(struct task_context *tc)
if (tc) {
fprintf(fp, format, task_last_run(tc->task));
+ fprintf(fp, "ST:%s ", task_state_string(tc->task, buf1, !VERBOSE));
print_task_header(fp, tc, FALSE);
} else {
tcp = FIRST_CONTEXT();
for (i = 0; i < RUNNING_TASKS(); i++, tcp++) {
fprintf(fp, format, task_last_run(tcp->task));
+ fprintf(fp, "ST:%s ", task_state_string(tc->task, buf1, !VERBOSE));
print_task_header(fp, tcp, FALSE);
}
}
--
Crash-utility mailing list
Crash-utility@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/crash-utility