Commit Graph

297 Commits

Author SHA1 Message Date
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
albert
f1db79c042 better handling of long usernames 2004-07-20 23:31:12 +00:00
albert
5a8a11c88d neaten up some code 2004-07-20 22:51:22 +00:00
albert
557cd0852e New lib/* names. Fixed .PHONY for lib build. 2004-07-20 03:12:41 +00:00
albert
285f5c30b9 isalpha requires ctype.h 2004-07-19 04:56:10 +00:00
albert
0bdf88ffac SGI Altix console port ttySG0 is #40 2004-07-17 03:15:21 +00:00
albert
34c4da73d1 tolerate IA-64 headers w/o PAGE_SIZE 2004-07-15 05:29:56 +00:00
albert
8300609ba9 plenty -- see NEWS file and a diff 2004-07-15 01:17:15 +00:00
albert
cce5c1c5a4 be crudely tolerant of crude tty emulators 2004-07-06 04:24:39 +00:00
albert
fb2ccb8abc Search for life at slackware.com 2004-06-01 02:27:57 +00:00
albert
c8a8290ef2 fix vmstat -d 2004-05-04 23:29:40 +00:00
albert
3f603adbae remove some table inconsistencies and rename it_real_value 2004-04-17 03:13:56 +00:00
albert
d526282deb nswap data dead since 2.4.xx kernels 2004-04-13 03:56:52 +00:00
albert
a3dad291bb Fabian fixes slabtop; prep for 3.2.1 release 2004-03-27 04:30:05 +00:00
albert
b8a775d32e Linux 2.6.4 devices.txt 2004-03-17 18:30:10 +00:00
albert
2fc41eefa8 Linux 2.6.4 Documentation/devices.txt 2004-02-24 22:39:48 +00:00
albert
fbadfaa850 protect against BSD pty w/ 20-bit minor 2004-02-24 04:14:36 +00:00
albert
658b03bec6 alignment 2004-02-23 19:31:00 +00:00
albert
cb8bd84b21 CodingStyle left out of tarball. Tweak top. Leftovers? 2004-02-23 18:47:42 +00:00
albert
4ab5a6c8c3 merge with procps2 free 2004-01-30 04:47:14 +00:00
albert
f4367392c8 check_gcc for -m64, pmap shows shmid 2004-01-29 22:28:13 +00:00
albert
1e1218cca8 pmap stack detection 2004-01-26 20:01:56 +00:00
albert
efd8648fc7 add slabtop, fix top ^Z terminal handling 2004-01-24 22:33:56 +00:00
albert
c36c11c6b2 NSA SELinux for Linux 2.6.xx 2003-12-24 04:18:24 +00:00
albert
7046b34f42 thread-related hacks 2003-12-13 16:51:40 +00:00
albert
e583724fff H m -m -L -T are all working 2003-10-21 00:51:36 +00:00
albert
7dfe80961a sorted threads might work 2003-10-19 23:37:47 +00:00
albert
e180e4875f more goodies 2003-10-16 03:30:41 +00:00
albert
3a16c12ce3 top on wyse60, whitespace doc, thread fixes 2003-10-07 03:12:50 +00:00
albert
71312f1516 more per-process stuff 2003-09-29 04:09:52 +00:00
albert
35859fb0a8 ugly wart gone 2003-09-28 17:23:29 +00:00
albert
ac6260bc23 hard disk about to die 2003-09-28 02:45:05 +00:00
albert
c462dcfad5 ps thread support 2003-09-20 08:29:55 +00:00
albert
4456afd68a EVIL_GROUPING_HACK 2003-09-18 02:18:43 +00:00
albert
8b04273f89 EVIL_PROC_HACK 2003-09-17 21:58:32 +00:00
albert
e54c8239b1 new Linux 2.6.0-test4 CPU stats shown 2003-09-08 01:39:49 +00:00
albert
28d744ee6a Peter Moulder fixed CFLAGS 2003-09-01 00:18:58 +00:00
albert
360e6533c9 misc 2003-08-16 21:15:53 +00:00
albert
6ba229fa4c alignment 2003-08-11 01:59:53 +00:00
albert
8618adeaaf got most of procps-3.1.11ff2.diff 2003-08-10 23:40:41 +00:00
albert
45764fb735 3.1.11 2003-07-14 12:11:43 +00:00
albert
0db94e6a1a GPLONLY_ and PID-related stuff 2003-07-03 05:20:19 +00:00
albert
1dc1b63d34 man page stuff 2003-06-30 03:30:35 +00:00
albert
5c99a21b72 diskstats and slabinfo 2003-06-08 17:28:06 +00:00
albert
573423ff40 warning + doc refs 2003-06-02 23:31:12 +00:00
albert
331b547426 message: mount -t proc none /proc 2003-05-31 15:18:13 +00:00
albert
de2857aa89 fabian.frederick@gmx.fr vmstat code 2003-05-31 00:38:55 +00:00
albert
044e7004c4 label-to-label offset exceeds 2 GB ??? 2003-05-30 03:13:32 +00:00
albert
89ccfbf4f8 whip me, beat me, make me do UNIX terminal handling 2003-03-27 16:28:41 +00:00
albert
aa6fd01f1d SKIP 2003-03-19 01:15:58 +00:00
albert
1351592110 top: do not refresh like crazy 2003-03-17 23:42:00 +00:00
albert
cc5c6955be warning directs users to the FAQ 2003-02-18 03:51:03 +00:00
albert
4a54e25aca 2.5.61 2003-02-17 00:57:15 +00:00
albert
f082411c7d misc 2003-02-12 08:15:53 +00:00
albert
27ed270851 memory leak fixed 2003-02-11 08:19:12 +00:00
albert
b8e27a1ecf watch -t 2003-02-09 07:27:16 +00:00
albert
3d111f943c bye-bye 2003-01-28 23:47:39 +00:00
albert
23648f2b8f group by purpose and interface 2003-01-25 07:41:45 +00:00
albert
85207276b3 library.map 2003-01-24 10:15:23 +00:00
albert
9c25e92bf0 3.1.6 news 2003-01-23 07:08:00 +00:00
albert
0a03eac352 malloc error 2003-01-23 05:48:27 +00:00
albert
e092b7a18d better --info 2003-01-22 08:31:50 +00:00
albert
73a4c007a5 misc. stuff, and 3.1.5 -> 3.1.6 version number 2003-01-21 09:58:15 +00:00
albert
ebc5354699 KLONG 2003-01-16 08:03:40 +00:00
albert
256e1f767c new gcc+ld+gas features 2003-01-15 10:52:39 +00:00
albert
c334155f56 egcs-2.91.66 seems to lack __restrict 2003-01-03 16:55:40 +00:00
albert
6b4f2559c6 from Folkert van Heusden's code review 2002-12-28 23:57:10 +00:00
albert
33a8de391e read_cmdline should close files -- thanks Jim 2002-12-28 09:37:42 +00:00
albert
1f3181bcbf NUL-terminate (Jakub Bogusz) 2002-12-22 00:30:31 +00:00
albert
f2a0a095ba completed the move, output.* --> escape.* 2002-12-21 13:36:36 +00:00
albert
b67dc52160 proc/escape.c works for ps 2002-12-21 13:07:53 +00:00
albert
aef6890de1 allocate mem 1st 2002-12-21 11:27:47 +00:00
albert
d8367cbb3e still sig11 w/ "ps f" 2002-12-21 10:34:50 +00:00
albert
1158fdd1b1 checkpoint 2002-12-21 06:22:00 +00:00
albert
71d958095f just checking 2002-12-15 06:30:04 +00:00
albert
3e67b58ec2 satisfy GPL section 2a and LGPL section 2b name+date requirement 2002-12-15 00:30:17 +00:00
albert
8a745812cf Linux 2.5.xx /proc/*/wchan 2002-12-12 21:58:12 +00:00
albert
b657e7e08a NORETURN 2002-12-09 07:53:09 +00:00
albert
5087f3dbf6 big header clean-up 2002-12-09 07:00:07 +00:00
albert
4382008ad0 likely to help 2002-12-08 23:53:05 +00:00
albert
c7cb0983b4 status.h 2002-12-08 18:56:05 +00:00
albert
ab8b5f314d enable PROC_FILLSTAT 2002-12-08 18:51:56 +00:00
albert
c3ee8f3252 Inact_laundry 2002-12-08 00:14:02 +00:00
albert
041bf4ebba stop chopping cmd off short 2002-12-07 08:34:03 +00:00
albert
d42a6ee787 likely mistake 2002-12-04 04:04:19 +00:00
albert
cec50aa831 fixed config parser 2002-12-04 01:59:45 +00:00
albert
029864fe4f fix warnings 2002-12-03 09:18:27 +00:00
albert
7ac9a0e1f5 present for Jim 2002-12-03 09:07:59 +00:00
albert
538f249009 topz-DocReSync.patch 2002-12-02 21:05:22 +00:00
albert
4e7de4274d http://www.coker.com.au/selinux/procps/procps.diff 2002-11-27 23:04:32 +00:00
albert
80b73a78e4 c99 warnings again 2002-11-27 08:36:03 +00:00
albert
ade43a692b c99 -- ugh, this is HARD 2002-11-27 08:21:30 +00:00
albert
d0bc469c10 spare bits 2002-11-25 10:22:41 +00:00
albert
bd1a19b577 c99 2002-11-25 10:16:33 +00:00
albert
fe1be01b3a restrict 2002-11-25 05:05:52 +00:00
albert
80ec87f55a vmstat does IO-wait 2002-11-09 02:00:52 +00:00
albert
3c2c8bd371 was crashing GNU make and broken anyway 2002-11-08 05:19:55 +00:00
albert
2ab1caf27b set SHARED=0 to build w/o libproc.so 2002-10-24 07:49:16 +00:00
albert
dc792e9d58 remove Rik library support 2002-10-22 18:12:27 +00:00
albert
9e098634f0 "Do" cleanup 2002-10-22 06:12:12 +00:00
albert
9cae81a619 reduce waste 2002-10-22 04:55:12 +00:00
albert
815604d57e leaving the old Makefile.noam behind 2002-10-21 09:17:39 +00:00
albert
33023bbf34 format_interval_wide 2002-10-15 01:43:21 +00:00
albert
1e1645c4d4 first 3.0.4 thing: ELF note warning 2002-10-14 07:53:08 +00:00
albert
11354a29ff /bin/sh hates $(ln-f) variable? Odd that sh would see this... 2002-10-14 05:33:00 +00:00
albert
91cf8f1c88 alignment & size 2002-10-13 21:19:26 +00:00
albert
2bd046593c examine this more later -- it mattered 2002-10-13 20:32:09 +00:00