Re: [PATCH] display ST when using ps -l

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [Fedora Development]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [KDE Users]     [Fedora Tools]

 

Powered by Linux