Command line and full screen utilities for browsing procfs, a "pseudo" file system dynamically generated by Linux to provide information about the status of entries in its process table.
b6fcb602ce
Apparently there are occasions when NUMA nodes may not
always be contiguous. Under such conditions nodes that
were not used would still occupy precious Summary Area
space showing 100% idle, under the '2' command toggle.
With this commit top will no longer display numa nodes
that have no associated cpu when the '2' toggle is on.
But just in case we wish to return to former behavior,
a new #define called OFF_NUMASKIP has been introduced.
And as an aside, a recent refactor mentioned below set
the stage for this patch to be 'self-tuning'. In other
words, if an inactive/non-displayed node should become
active (if even possible), then top will begin showing
such a node automatically with the next screen update.
Unfortunately, all inactive nodes now 'suppressed' are
still accessible via the '3' command. Those nodes will
just be displayed as empty (no associated cpus shown).
This is not really a top problem but more of a libnuma
and/or user deficiency. The library lacks the means to
validate a node id and the user then input a node that
was not even shown under a '2' toggle Summary display.
( too bad libnuma does not offer an 'is_node_active' )
( type function so top could warn a user when such a )
( discontinuous node was requested using his '3' cmd )
( sure, top could achieve this objective himself but )
( that would require making yet another array global )
( which i'm just not in the mood to do - besides, we )
( have already made enough concessions to libnuma.so )
Lastly, an existing #define (PRETEND_NUMA) was changed
to 'disable' node #1 so as to simulate a discontinuous
node. This allows testing of the '2' and '3' commands.
Reference(s):
http://www.spinics.net/lists/util-linux-ng/msg08671.html
. set stage for self tuning
commit
|
||
---|---|---|
contrib | ||
Documentation | ||
include | ||
lib | ||
misc | ||
po | ||
proc | ||
ps | ||
testsuite | ||
top | ||
.gitignore | ||
AUTHORS | ||
autogen.sh | ||
ChangeLog | ||
configure.ac | ||
COPYING | ||
COPYING.LIB | ||
free.1 | ||
free.c | ||
kill.1 | ||
Makefile.am | ||
NEWS | ||
pgrep.1 | ||
pgrep.c | ||
pidof.1 | ||
pidof.c | ||
pkill.1 | ||
pmap.1 | ||
pmap.c | ||
pwdx.1 | ||
pwdx.c | ||
README | ||
skill.1 | ||
skill.c | ||
slabtop.1 | ||
slabtop.c | ||
snice.1 | ||
sysctl.8 | ||
sysctl.c | ||
sysctl.conf | ||
sysctl.conf.5 | ||
tload.1 | ||
tload.c | ||
uptime.1 | ||
uptime.c | ||
vmstat.8 | ||
vmstat.c | ||
w.1 | ||
w.c | ||
watch.1 | ||
watch.c |
COMPATIBILITY This code is intended for use with Linux 2.6.xx, 3.x and hopefully all future kernels. INSTALLATION If you are using git version of the project you need extra step. ./autogen.sh After that, and everyone using .tar.xz version of procps-ng, can do normal build. Read './configure --help' to select options for your needs. ./configure make make install If you have DejaGNU installed you can run optional test suite. make check HOW TO CONTRIBUTE See Documentation/BUGS file. PACKAGING If you are a downstream maintainer (packager) for a Linux distribution, please avoid causing troubles. This section applies to you. Avoid maintaining distribution specific patches. Send your patches to upstream, where they are at least reviewed, if not included. Please forward bug reports. If your bug database is public and busy enough to bother with, please make this known. Follow Debian's lead in making the bug database easy to comment on via email without need for an account. For normal packages, ensure that you do not add debugging flags to the CFLAGS variable. UPSTREAM & BUG REPORTS procps-ng <procps@freelists.org>