Commit Graph

203 Commits

Author SHA1 Message Date
Craig Small
bb4f08ba29 refined library i/f and improved performance
Library changes
   readproc
    . added readeither to more efficiently
      fill both process and thread proc_t
    . added readproctab3, uses readeither
    . included task path support in:
        fill_cgroup_cvt, fill_cmdline_cvt,
        read_unvectored
    . QUICK_THREADS #define allows copying
      process info vs. repeatedly reading
    . simple_nexttid no longer values ppid
    . path var made non-static in readtask
    . documented 'proc_data_t' in .h file
    . tweaked some c comments & formatting
   library.map
    . added new readeither, readproctab3
 Program changes
   ps
    . exploits readproctab3 where possible
    . improved args/comm compliance
   top
    . exploits readeither
2011-08-11 07:42:14 +10:00
Craig Small
3ef4823f90 supgid/supgrp support, improved library interface
Library changes
   readproc
    . added support for supplementary groups
    . eliminated 2 potential mem leak sources
       . shortcut used for multi-threaded str
         vectors & ptrs was obsoleted
       . freeing of proc_t related dynamic
         memory now rests with the library
    . standardized/normalized many c comments
   sysinfo
    . corrected note regarding glibc & cpuinfo
   library.map
    . made the visible freeproc accessable
 Program changes
   pmap
    . initialized buffer for new readproc i/f
    . eliminated now obsolete free() call
   ps
    . added width aware supgrp support
    . initialized buffers for new readproc i/f
    . eliminated now obsolete free() calls
   top
    . added supgrp support as variable width
    . eliminated now obsolete free() calls
    . expoilted library freeproc function
    . corrected -h|v args text & spacing
    . updated some c comments
 Documentation changes
   ps.1
    . added supgid and supgrp
   top.1
    . added supgid and supgrp
    . addition of above required renumbering
      many fields in section 3a. DESCRIPTIONS
2011-08-01 21:28:46 +10:00
Craig Small
a26c3bfa39 top hotplug memory support
Another patch from Jim for top to support hot-pluggable memory. Not
fully tested on real hot-pluggable memory because neither of us have
it
2011-07-14 21:16:02 +10:00
Jim Warner
16f8bc685f miscellaneous library documentation changes
Library changes
  . standardized comments in proc_t statm/status memory definitions

Signed-off-by: Jan Görig <jgorig@redhat.com>
2011-06-23 15:39:32 +02:00
Jaromír Cápík
f2e4b9f601 Kernel 3.0 version format support 2011-06-20 17:54:06 +02:00
Jan Görig
f43de0df19 Added 'vm_swap' variable nullifying.
Thanks to KOSAKI Motohiro.

Bug-Redhat: https://bugzilla.redhat.com/show_bug.cgi?id=532668
2011-06-02 12:22:31 +02:00
Jim Warner
7b0fc19e9d enhanced libproc cgroup/cmdline support, exploited by top
Library Changes
. added PROC_EDITCMDLCVT flag
. added an internal (static) fill_cmdline_cvt function:
  - reads and "escapes" /proc/#/cmdline
  - returns result as a single string in a single vector
  - callers are guaranteed a cmdline (no more NULL)
. added vectorize_this_str function, exploited by
  fill_cgroup_cvt, fill_cmdline_cvt
. generalized read_cmdline function as read_unvectored, now
  exploited by fill_cgroup_cvt, fill_cmdline_cvt, read_cmdline
  ( cgroup and cmdline no longer need be converted to string )
  ( vectors before being transformed to final representation )
. fixed bug regarding skipped group numbers (when enabled)
. escape_str made responsible for all single byte translation
  with distinction between control chars + other unprintable
. added escaped_copy function for already escaped strings
. reorganized parts of proc_t to restore formatting standards
  ( displacement changes shouldn't matter with new version # )
. former ZAP_SUSEONLY #define now OOMEM_ENABLE
. added to library.map: escaped_copy; read_cmdline

Top Program Changes
. exploited the new PROC_EDITCMDLCVT provision
. eliminated now obsolete #include "proc/escape.h"
. changed the P_WCH display format if no kernel symbol table
. fixed very old bug in lflgs for out-of-view sort fields
. former ZAP_SUSEONLY #define now OOMEM_ENABLE

Ps Program Changes
. exploited the new PROC_EDITCMDLCVT provision
. exploited the new escaped_copy function
. consolidated pr_args and pr_comm into pr_argcom

Signed-off-by: Jan Görig <jgorig@redhat.com>
2011-05-18 10:33:44 +02:00
Jim Warner
57031319d6 cgroup support migrated to libproc, plus miscellaneous re-formatting
This source patchset addresses the following:
Library Extension (readproc)
 . added PROC_EDITCGRPCVT flag
 . added an internal (static) fill_cgroup_cvt function:
   . reads AND parses /proc/#/cgroup
   . returns result as a single string in a single vector
   . thus no changes to proc_t structure or free memory logic
Program Enhancements (top)
 . removed parse_cgroup logic in favor of libproc
 . eliminated cgroup sort recurring overhead
 . converted WCHAN field to variable width
 . generalized variable width field logic in task_show
 . real-time notation under P col more distinctive as 'rt'
Program Cosmetic (top)
 . CGROUP now known as CGROUPS (plural)
 . moved jan's attribution from top.c to 'Notes' in top.h
 . numerous comments tweaked
Document Enhancements (top)
 . documented CGROUPS field (required renumbering all fields)
 . adapted narratives for the 3 current variable width fields
 . expanded real-time scheduling notes, 'RT' now shown as 'rt'

Signed-off-by: Jan Görig <jgorig@redhat.com>
2011-05-05 12:12:27 +02:00
Werner Fink
aac0de8994 Initialize smp_num_cpus only if really required
Initialize smp_num_cpus only if really required

Signed-off-by: Werner Fink <werner@suse.de>
2011-04-15 15:53:20 +02:00
Werner Fink
e646984924 Add missed oom support to libproc
Add missed oom support to libproc
Signed-off-by: Werner Fink <werner@suse.de>
2011-04-15 15:52:40 +02:00
Jan Görig
887c1b95c5 Removed .cvsignore files 2011-02-10 13:40:29 +01:00
Jan Görig
59679bc2a2 Rewritten cgroup support and suppressed root cgroup
Bug-Redhat: https://bugzilla.redhat.com/show_bug.cgi?id=593267
Signed-off-by: Jan Görig <jgorig@redhat.com>
2011-02-10 13:40:29 +01:00
Jan Görig
8fde4af11d Call libproc constructors in strict order
Having one constructor depend on another means if the order
is reversed you get a different result.
Patched based on idea by Tom Evans.

Added new code to old_Hertz_hack by Werner Fink <werner@suse.de>

Bug-Debian: http://bugs.debian.org/460331
Bug-Redhat: https://bugzilla.redhat.com/show_bug.cgi?id=632236
Reviewed-by: Jan Görig <jgorig@redhat.com>
2011-01-19 12:50:26 +01:00
Jan Görig
4d3c19af52 Read the system boot time from /proc instead of computing
Read the time of system boot from /proc/stat (entry: btime) instead
of computing it as the difference between the current time and the
uptime. This is the only way to get a consistent result which won't
possibly change from one run to the next.

The problems with the original code were:
* Both the current time and the uptime are rounded down to the second,
  but the system doesn't boot on an integer second value so they do not
  tick at the same moment. Thus, the rounding errors can cause a one
  second difference from one run to the next.
* We can't read the uptime and the current time at the exact same moment
  anyway, so the time difference we compute is bound to be inaccurate.
Bug-Redhat: https://bugzilla.redhat.com/show_bug.cgi?id=222251
Author: Jean Delvare <jdelvare@suse.de>
Reviewed-by: Craig Small <csmall@debian.org>
2010-12-16 10:30:39 +01:00
Jan Görig
356a1f9a37 fix the problem with truncated output lines to 2048 characters
Author: Karel Zak <kzak@redhat.com> and Olivier Fourdan <ofourdan@redhat.com>
Bug-Redhat: https://bugzilla.redhat.com/show_bug.cgi?id=134516
Bug-Redhat: https://bugzilla.redhat.com/show_bug.cgi?id=487700
2010-12-16 10:24:44 +01:00
Jan Görig
af25453d9a ps displays cgroup
Author: Swann Perarnau <swann.perarnau@imag.fr>
Bug-Debian: http://bugs.debian.org/469669
Reviewed-by: Craig Small <csmall@debian.org>
2010-12-16 10:23:49 +01:00
albert
5f570a84f1 per-process swap info available on Linux 2.6.34 2010-05-18 07:02:03 +00:00
albert
b0210803bf update /dev/tty* info to May 2009 devices.txt 2009-05-03 06:39:33 +00:00
albert
7dd414ac1b new /proc/meminfo fields 2008-03-24 04:41:26 +00:00
albert
9049ffef32 ps man page 2006-09-10 06:25:56 +00:00
albert
0231385023 fix the low_density_names table, maybe 2006-07-09 06:58:39 +00:00
albert
86de01f3d0 Linux 2.6.17 tty devices. Lose support for original pty numbering. 2006-07-09 04:41:30 +00:00
albert
9278134e49 top: show CPU time stolen from a virtual machine 2006-06-25 02:15:36 +00:00
albert
47d33e7ed4 g is criteria 2006-06-24 20:12:29 +00:00
albert
5c591b836f fix "ps sm" bug involving 1-thread-proc optimization 2006-06-17 04:14:57 +00:00
albert
29cbc63561 fputs instead of fprintf 2005-10-30 23:45:47 +00:00
albert
777fcd3cf1 /proc/stat for 1024 CPUs 2005-10-30 00:14:16 +00:00
albert
6a304370f8 ps: fix crash related to realloc -- thanks David Houlder 2005-09-12 03:25:01 +00:00
albert
864a5356a1 fix race condition 2005-06-10 15:43:15 +00:00
albert
cd80f609e6 more MIPS crud 2005-02-28 03:29:57 +00:00
albert
f9d99085e7 crazy Debian GNU/kFreeBSD guy wanted this 2005-01-27 04:08:10 +00:00
albert
ee561259a4 Karel Zak provided some slabinfo documentation 2005-01-24 18:30:24 +00:00
albert
37b9b9a235 valgrind freaked out on some weird old code 2005-01-24 03:37:41 +00:00
albert
8747618ef2 2.6.10 bumped the slabinfo minor; let the old parser handle it 2005-01-10 05:59:41 +00:00
albert
1010c1d281 fix overflow on huge NUMA boxes 2005-01-05 21:46:22 +00:00
albert
0fb81f5c39 display problem on 64-bit systems fixed 2005-01-05 21:11:21 +00:00
albert
c961f2604a leftovers in the 3.2.4 release 2004-11-04 20:50:59 +00:00
albert
6ec1cff342 ps: built-in test code, etc. 2004-10-12 00:12:25 +00:00
albert
630b655893 Patrick found to be alive 2004-09-23 13:45:18 +00:00
albert
0586dc8b6d fix warnings; put CFLAGS on lib link command 2004-09-23 13:41:33 +00:00
albert
55b3e73334 $TOPRC, eliminate status() fn, avoid /proc/*/stat more 2004-08-30 17:30:41 +00:00
albert
0d77d98bf3 ttySMX* devices, /proc/vmstat change, /proc/meminfo change 2004-08-27 20:21:46 +00:00
albert
af2077f22d new /proc/vmstat fields 2004-08-27 14:23:36 +00:00
albert
1754df6025 MIPS n32 on 64-bit kernel; be nice to 32-bit SPARC 2004-08-19 01:06:28 +00:00
albert
792358ba42 Linux 2.2 non-SMP on SMP Alpha needed this 2004-08-10 07:18:04 +00:00
albert
1e1ec4ad84 fix pwcache again 2004-08-10 04:47:07 +00:00
albert
ef0b63de31 string.h and maybe a release 2004-08-10 04:30:27 +00:00
albert
6308cb79e1 rh109147-like bug w/ old data in buffer, plus ")" problem and speed 2004-07-28 15:19:46 +00:00
albert
713d32a93a some overflow problems fixed -- thanks Holger Kiehl 2004-07-26 13:48:59 +00:00
albert
266d5b708a wchan for multithreaded process is now ~0ull or "*" 2004-07-21 21:17:35 +00:00