diff options
Diffstat (limited to 'abs/core-testing/procinfo/procinfo-19.2.patch')
-rw-r--r-- | abs/core-testing/procinfo/procinfo-19.2.patch | 325 |
1 files changed, 0 insertions, 325 deletions
diff --git a/abs/core-testing/procinfo/procinfo-19.2.patch b/abs/core-testing/procinfo/procinfo-19.2.patch deleted file mode 100644 index 1fb622a..0000000 --- a/abs/core-testing/procinfo/procinfo-19.2.patch +++ /dev/null @@ -1,325 +0,0 @@ -diff -ruN procinfo-18/procinfo.c procinfo-19/procinfo.c ---- procinfo-18/procinfo.c 2001-02-25 12:29:16.000000000 +0100 -+++ procinfo-19/procinfo.c 2005-07-02 17:37:31.000000000 +0200 -@@ -5,9 +5,10 @@ - Displays general info from /proc. - - Date: 1995-07-08 05:30:34 -- Last Change: 2001-02-25 00:27:21 -+ Last Change: 2005-07-02 17:25:53 - - Copyright (c) 1994-2001 svm@kozmix.cistron.nl -+ Copyright (c) 2004-2005 procinfo@meisel.cc (upgrades for 2.6 kernel) - - This software is released under the GNU Public Licence. See the file - `COPYING' for details. Since you're probably running Linux I'm sure -@@ -26,6 +27,7 @@ - #include <string.h> - #include <termios.h> - #include <termcap.h> -+#include <ctype.h> - #include <time.h> - #include <unistd.h> - #include <sys/param.h> /* for HZ -- should be in <time.h> ? */ -@@ -72,9 +74,9 @@ - int nr_irqs = 0; - int nr_cpus = 0; - --FILE *loadavgfp, *meminfofp, *modulesfp, *statfp, *uptimefp, -+FILE *loadavgfp, *meminfofp, *modulesfp, *statfp, *uptimefp, *diskstatsfp, - *devicesfp, *filesystemsfp, *interruptsfp, *dmafp, *cmdlinefp, -- *versionfp, *cpuinfofp; -+ *versionfp, *cpuinfofp, *vmstatfp; - - char line[1024], cmdline[1024], booted[40], *version = NULL, *message = NULL; - -@@ -89,9 +91,13 @@ - { - unsigned long elapsed; - char loadavg[32]; -- int i; -+ int i, havetwosix = 0, lastdisk; - static int have_m_c = -1; /* Do we have cache info? */ - static int have_m_l = -1; /* Do we have new-style-one-datum-per-line? */ -+ char devicename[10]; -+ char *last; -+ unsigned int q,w,a,s,d,f,g,h,j,k,l,y,x; -+ int disk_counter = 0, ret; - - - /**** /proc/uptime ****/ -@@ -237,6 +243,50 @@ - - printf ("Bootup: %s Load average: %s\n\n", booted, loadavg); - -+/**** /proc/vmstat ... 2.6.x kernel only ****/ -+ if (vmstatfp) { -+ havetwosix = 1; -+ fseek (vmstatfp, 0L, SEEK_SET); -+ while (fgets (line, sizeof (line), vmstatfp)) { -+ char *type = strtok (line, " "); -+ if (ISSTR ("pgpgin")) { -+ new.pgin = VAL; -+ } else if (ISSTR ("pgpgout")) { -+ new.pgout = VAL; -+ } else if (ISSTR ("pgactivate")) { -+ new.pgac = VAL; -+ } else if (ISSTR ("pgdeactivate")) { -+ new.pgdeac = VAL; -+ } else if (ISSTR ("pgfault")) { -+ new.pgfault = VAL; -+ } else if (ISSTR ("pswpin")) { -+ new.swin = VAL; -+ } else if (ISSTR ("pswpout")) { -+ new.swout = VAL; -+ } -+ } -+ } -+ -+/**** /proc/diskstats ... 2.6.x kernel only ****/ -+ if (diskstatsfp) { -+ havetwosix = 1; -+ fseek (diskstatsfp, 0L, SEEK_SET); -+ while (fgets (line, sizeof (line), diskstatsfp)) { -+ char *type = strtok (line, "\n"); -+ ret = sscanf (type, "%d%d%s%d%d%d%d%d%d%d%d%d%d%d", &q, &w, devicename, &a, &s, &d, &f, &g, &h, &j, &k, &l, &y, &x); -+ if (ret != 14) /* Everything with less than 14 elements is not a disk device */ -+ continue; -+ last = devicename+strlen(devicename)-1; -+ if (isalpha(*last)) {/* Is the last char is a number ignore it .. like fd0 */ -+ if (++disk_counter > 7) /* 7 disks is all we have room for */ -+ continue; -+ else { -+ new.disk_r[disk_counter-1] = a; -+ new.disk_w[disk_counter-1] = g; -+ } -+ } -+ } -+ } - - /**** /proc/stat ****/ - -@@ -249,6 +299,9 @@ - new.cpu_nice = VAL; - new.cpu_sys = VAL; - new.cpu_idle = VAL; -+ new.cpu_iowait = VAL; -+ new.cpu_hirq = VAL; -+ new.cpu_sirq = VAL; - /* - * according to bug #1959, sometimes the cpu_idle - * seems to go backwards(!) on SMP boxes. This may -@@ -262,34 +315,54 @@ - new.disk[1] = VAL; - new.disk[2] = VAL; - new.disk[3] = VAL; -+ new.disk[4] = VAL; -+ new.disk[5] = VAL; -+ new.disk[6] = VAL; - } else if (ISSTR ("disk_rio") && io_or_blk == 0) { - new.disk_r[0] = VAL; - new.disk_r[1] = VAL; - new.disk_r[2] = VAL; - new.disk_r[3] = VAL; -+ new.disk_r[4] = VAL; -+ new.disk_r[5] = VAL; -+ new.disk_r[6] = VAL; -+ } else if (ISSTR ("disk_wio") && io_or_blk == 0) { -+ new.disk_w[0] = VAL; -+ } else if (ISSTR ("disk_wio") && io_or_blk == 0) { -+ new.disk_w[0] = VAL; -+ } else if (ISSTR ("disk_wio") && io_or_blk == 0) { -+ new.disk_w[0] = VAL; - } else if (ISSTR ("disk_wio") && io_or_blk == 0) { - new.disk_w[0] = VAL; - new.disk_w[1] = VAL; - new.disk_w[2] = VAL; - new.disk_w[3] = VAL; -+ new.disk_w[4] = VAL; -+ new.disk_w[5] = VAL; -+ new.disk_w[6] = VAL; - } else if (ISSTR ("disk_rblk") && io_or_blk == 1) { - new.disk_r[0] = VAL; - new.disk_r[1] = VAL; - new.disk_r[2] = VAL; - new.disk_r[3] = VAL; -+ new.disk_r[4] = VAL; -+ new.disk_r[5] = VAL; -+ new.disk_r[6] = VAL; - } else if (ISSTR ("disk_wblk") && io_or_blk == 1) { - new.disk_w[0] = VAL; - new.disk_w[1] = VAL; - new.disk_w[2] = VAL; - new.disk_w[3] = VAL; -+ new.disk_w[4] = VAL; -+ new.disk_w[5] = VAL; -+ new.disk_w[6] = VAL; - } else if (ISSTR ("disk_io:")) { -- int disk_counter = 0, ret; - unsigned int q, w, e, r, t, y, u; /* I'm NOT in the mood today. */ - char *barf; - - while ((barf = strtok (NULL, " "))) { - -- if (++disk_counter > 4) /* 4 is all we have room for */ -+ if (++disk_counter > 7) /* 7 is all we have room for */ - continue; - - ret = sscanf (barf, "(%d,%d):(%d,%d,%d,%d,%d)", -@@ -374,7 +447,10 @@ - - printf ("system: %s %s", - hms (bDIFF (cpu_sys)), perc (bDIFF (cpu_sys), elapsed, nr_cpus)); -- printf (" swap in :%9lu", bDIFF (swin)); -+ if (havetwosix) -+ printf (" page act:%9lu", bDIFF (pgac)); -+ else -+ printf (" swap in :%9lu", bDIFF (swin)); - if (new.disk_r[2]) - printf (" disk 3: %8lur%8luw\n", bDIFF (disk_r[2]), - bDIFF (disk_w[2])); -@@ -383,14 +459,53 @@ - else - putchar ('\n'); - -+ if (havetwosix) { -+ printf ("IOwait: %s %s", -+ hms (bDIFF (cpu_iowait)), perc (bDIFF (cpu_iowait), elapsed, nr_cpus)); -+ printf (" page dea:%9lu", bDIFF (pgdeac)); -+ if (new.disk_r[3]) -+ printf (" disk 4: %8lur%8luw\n", bDIFF (disk_r[3]), -+ bDIFF (disk_w[3])); -+ else if (new.disk[3]) -+ printf (" disk 4: %8lu\n", bDIFF (disk[3])); -+ else -+ putchar ('\n'); -+ -+ printf ("hw irq: %s %s", -+ hms (bDIFF (cpu_hirq)), perc (bDIFF (cpu_hirq), elapsed, nr_cpus)); -+ printf (" page flt:%9lu", bDIFF (pgfault)); -+ if (new.disk_r[4]) -+ printf (" disk 5: %8lur%8luw\n", bDIFF (disk_r[4]), -+ bDIFF (disk_w[4])); -+ else if (new.disk[4]) -+ printf (" disk 5: %8lu\n", bDIFF (disk[4])); -+ else -+ putchar ('\n'); -+ -+ printf ("sw irq: %s %s", -+ hms (bDIFF (cpu_sirq)), perc (bDIFF (cpu_sirq), elapsed, nr_cpus)); -+ printf (" swap in :%9lu", bDIFF (swin)); -+ if (new.disk_r[5]) -+ printf (" disk 6: %8lur%8luw\n", bDIFF (disk_r[5]), -+ bDIFF (disk_w[5])); -+ else if (new.disk[5]) -+ printf (" disk 6: %8lu\n", bDIFF (disk[5])); -+ else -+ putchar ('\n'); -+ } -+ - printf ("idle : %s %s", - hms (bDIFF (cpu_idle)), perc (bDIFF (cpu_idle), elapsed, nr_cpus)); - printf (" swap out:%9lu", bDIFF (swout)); -- if (new.disk_r[3]) -- printf (" disk 4: %8lur%8luw\n", bDIFF (disk_r[3]), -- bDIFF (disk_w[3])); -- else if (new.disk[3]) -- printf (" disk 4: %8lu\n", bDIFF (disk[3])); -+ if (havetwosix) -+ lastdisk = 5; -+ else -+ lastdisk = 2; -+ if (new.disk_r[lastdisk]) -+ printf (" disk %d: %8lur%8luw\n", lastdisk+1, bDIFF (disk_r[lastdisk]), -+ bDIFF (disk_w[lastdisk])); -+ else if (new.disk[lastdisk]) -+ printf (" disk %d: %8lu\n", lastdisk+1, bDIFF (disk[lastdisk])); - else - putchar ('\n'); - -@@ -786,6 +901,8 @@ - meminfofp = myfopen (PROC_DIR "meminfo"); - statfp = myfopen (PROC_DIR "stat"); - /* These may be missing, so check for NULL later. */ -+ diskstatsfp = fopen (PROC_DIR "diskstats", "r"); -+ vmstatfp = fopen (PROC_DIR "vmstat", "r"); - modulesfp = fopen (PROC_DIR "modules", "r"); - devicesfp = fopen (PROC_DIR "devices", "r"); - filesystemsfp = fopen (PROC_DIR "filesystems", "r"); -@@ -990,6 +1107,9 @@ - new.disk_r[1] = new.disk_w[1] = - new.disk_r[2] = new.disk_w[2] = - new.disk_r[3] = new.disk_w[3] = 0; -+ new.disk_r[4] = new.disk_w[4] = 0; -+ new.disk_r[5] = new.disk_w[5] = 0; -+ new.disk_r[6] = new.disk_w[6] = 0; - redrawn = 1; - message = io_or_blk ? "showing I/O in blocks" : - "showing I/O per requests"; -diff -ruN procinfo-18/procinfo.h procinfo-19/procinfo.h ---- procinfo-18/procinfo.h 2001-02-25 00:30:45.000000000 +0100 -+++ procinfo-19/procinfo.h 2005-07-02 17:37:54.000000000 +0200 -@@ -3,9 +3,10 @@ - procinfo.h - - Date: 1995-04-15 23:54:06 -- Last Change: 2001-02-24 23:43:08 -+ Last Change: 2005-07-02 17:37:32 - - Copyright (C) 1995-2001 Sander van Malssen <svm@kozmix.cistron.nl> -+ Copyright (c) 2004-2005 procinfo@meisel.cc (upgrades for 2.6 kernel) - - This software is released under the GNU Public Licence. See the file - `COPYING' for details. Since you're probably running Linux I'm sure -@@ -47,7 +48,7 @@ - new.x) - - #define bDIFF(x) (show_diff ? \ -- (unsigned long) (((new.x)-(old.x))/rate) : \ -+ (unsigned long) ((((new.x)-(old.x))/rate)*10) : \ - (show_from_baseline ? \ - new.x - base.x : new.x)) - -@@ -81,11 +82,11 @@ - unsigned long uptime; - long m_to, m_us, m_fr, m_sh, m_bu, m_ca; - long s_to, s_us, s_fr; -- unsigned long cpu_user, cpu_nice, cpu_sys, cpu_idle; -- unsigned long disk[5]; -- unsigned long disk_r[5]; -- unsigned long disk_w[5]; -- unsigned long pgin, pgout, swin, swout; -+ unsigned long cpu_user, cpu_nice, cpu_sys, cpu_idle, cpu_iowait, cpu_hirq, cpu_sirq; -+ unsigned long disk[8]; -+ unsigned long disk_r[8]; -+ unsigned long disk_w[8]; -+ unsigned long pgin, pgout, pgac, pgdeac, pgfault, swin, swout; - unsigned long *intr; /* Phew. That's better. */ - unsigned long old_intr; - unsigned long ctxt; -diff -ruN procinfo-18/routines.c procinfo-19/routines.c ---- procinfo-18/routines.c 2001-02-25 00:30:45.000000000 +0100 -+++ procinfo-19/routines.c 2005-07-02 17:18:36.000000000 +0200 -@@ -388,9 +388,13 @@ - hms (unsigned long t) - { - unsigned int d, h, m, s; -+ unsigned long q; - static char buf[22]; - -- t = t * 100 / HZ; -+ q = 100 / HZ; /* We need this because the libc does something funny here */ -+ /* if we try to use: t = t * 100 / HZ; here! */ -+ /* procinfo@meisel.cc 11. Feb. 2004 */ -+ t = t * q; - d = (int) (t / 8640000); - t = t - (long) (d * 8640000); - h = (int) (t / 360000); -@@ -424,6 +428,7 @@ - /* if (v > 1000) - return "+++.+%"; - else */ -+ //sprintf (buf, "%3u.%u%%", v, v % 10); - sprintf (buf, "%3u.%u%%", v / 10, v % 10); - return buf; - } |