Patch from Thomas Winkler showing the the system time for each process
authorEric Andersen <andersen@codepoet.org>
Wed, 31 Mar 2004 11:21:24 +0000 (11:21 -0000)
committerEric Andersen <andersen@codepoet.org>
Wed, 31 Mar 2004 11:21:24 +0000 (11:21 -0000)
when running 'top'

patches/top_system_cpu.diff [new file with mode: 0644]

diff --git a/patches/top_system_cpu.diff b/patches/top_system_cpu.diff
new file mode 100644 (file)
index 0000000..5d213e7
--- /dev/null
@@ -0,0 +1,51 @@
+diff -purN busybox.ori/include/libbb.h busybox/include/libbb.h
+--- busybox.ori/include/libbb.h        2004-03-21 14:39:35.000000000 +0100
++++ busybox-1.0/include/libbb.h        2004-03-21 14:45:35.000000000 +0100
+@@ -447,6 +447,7 @@ typedef struct {
+       int ppid;
+ #ifdef FEATURE_CPU_USAGE_PERCENTAGE
+       unsigned pcpu;
++      unsigned pscpu;
+       unsigned long stime, utime;
+ #endif
+       char *cmd;
+diff -purN busybox.ori/procps/top.c busybox/procps/top.c
+--- busybox.ori/procps/top.c   2004-03-21 14:40:09.000000000 +0100
++++ busybox-1.0/procps/top.c   2004-03-21 17:27:52.961951448 +0100
+@@ -289,6 +289,15 @@ static void do_stats(void)
+           i = 999;
+       cur->pcpu = i;
++      /*
++       * Calculate percent of system time from cpu time
++       */
++      if (systime != 0) {
++          cur->pscpu = 100 * total_time / systime;
++      } else {
++          cur->pscpu = 0;
++      }
++
+     }
+     /*
+@@ -393,7 +402,7 @@ static void display_status(int count, in
+       
+ #ifdef FEATURE_CPU_USAGE_PERCENTAGE
+       /* what info of the processes is shown */
+-      printf("\n\e[7m  PID USER     STATUS   RSS  PPID %%CPU %%MEM COMMAND\e[0m\n");
++      printf("\n\e[7m  PID USER     STATUS   RSS  PPID %%CPU %%SCPU %%MEM COMMAND\e[0m\n");
+ #else
+       printf("\n\e[7m  PID USER     STATUS   RSS  PPID %%MEM COMMAND\e[0m\n");
+ #endif
+@@ -410,9 +419,9 @@ static void display_status(int count, in
+               else
+                       sprintf(rss_str_buf, "%7ld", s->rss);
+ #ifdef FEATURE_CPU_USAGE_PERCENTAGE
+-              printf("%5d %-8s %s  %s %5d %2d.%d %2u.%u ",
++              printf("%5d %-8s %s  %s %5d %2d.%d %2d.%d %2u.%u ",
+                       s->pid, s->user, s->state, rss_str_buf, s->ppid,
+-                      s->pcpu/10, s->pcpu%10, pmem/10, pmem%10);
++                      s->pcpu/10, s->pcpu%10,s->pscpu/10, s->pscpu%10, pmem/10, pmem%10);
+ #else
+               printf("%5d %-8s %s  %s %5d %2u.%u ",
+                       s->pid, s->user, s->state, rss_str_buf, s->ppid,