library: refactor and rely on modern kernels for wchan
Several Debian based distributions were recently found to have omitted a kernel configuration option that had the effect of rendering /proc/#/stat and /proc/#/wchan useless for providing any 'sleeping in function' info. That problem also prompted a reevaluation of the whole approach to wchan matters which had grown increasingly complex as our library evolved over the last 13 years. The net result was a decision to rely on /proc/#/wchan which arrived along with the 2.5 kernel. This then let us vastly simplify the internal code plus the external interface which will benefit both the top and ps pgms. Reference(s): http://www.freelists.org/post/procps/WCHAN,11 https://lkml.org/lkml/2008/11/6/12 https://bugs.debian.org/711592 Signed-off-by: Jim Warner <james.warner@comcast.net>
This commit is contained in:
@ -287,7 +287,6 @@ extern proc_t * get_proc_stats(pid_t pid, proc_t *p);
|
||||
#define PROC_FILLGRP 0x0010 // resolve group id number -> group name
|
||||
#define PROC_FILLSTATUS 0x0020 // read status
|
||||
#define PROC_FILLSTAT 0x0040 // read stat
|
||||
#define PROC_FILLWCHAN 0x0080 // look up WCHAN name
|
||||
#define PROC_FILLARG 0x0100 // alloc and fill in `cmdline'
|
||||
#define PROC_FILLCGROUP 0x0200 // alloc and fill in `cgroup`
|
||||
#define PROC_FILLSUPGRP 0x0400 // resolve supplementary group id -> group name
|
||||
|
Reference in New Issue
Block a user