]> granicus.if.org Git - procps-ng/log
procps-ng
6 years agofree.c - name correctly the binary multiples in the human-readable case
getzze [Fri, 4 Nov 2016 01:11:01 +0000 (01:11 +0000)]
free.c - name correctly the binary multiples in the human-readable case

6 years agofree.c - correct conversion to decimal multiples
getzze [Fri, 4 Nov 2016 01:09:58 +0000 (01:09 +0000)]
free.c - correct conversion to decimal multiples

6 years agodocs: Document I idle state in ps and top
Craig Small [Sat, 13 Jan 2018 00:18:09 +0000 (11:18 +1100)]
docs: Document I idle state in ps and top

Linux 4.2 provided a new process state of I which is used for an idle
kernel thread. This new state means that kernel threads do not
contribute to the loadavg as they are no longer state D or S but I.

While both ps and top displayed this state, it wasn't documented in
either manual page until now.

References:
 https://bugs.debian.org/886967
 https://www.quora.com/What-does-mean-Linux-process-state-I-in-the-top-output
 https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=80ed87c8a9ca0cad7ca66cf3bbdfb17559a66dcf

6 years agosysctl: Don't crash file fopen fails
Craig Small [Sun, 7 Jan 2018 01:25:35 +0000 (12:25 +1100)]
sysctl: Don't crash file fopen fails

The commit referenced below put a setvbuf() before checking what
fopen() returned. If the file could not be opened then the file
handle was NULL at setvbuf() crashed.

setvbuf() is now called after checking what fopen() returns and only
when it was successful.

References:
 procps-ng/procps#76
 commit 58ae084c2737cdee395915d45dbcb364648ac615

7 years agoMerge branch 'Polynomal-C/procps-master'
Craig Small [Fri, 29 Dec 2017 04:57:43 +0000 (15:57 +1100)]
Merge branch 'Polynomal-C/procps-master'

References:
 procps-ng/procps!47

7 years agoAdd support for elogind
Sven Eden [Tue, 30 May 2017 14:33:28 +0000 (16:33 +0200)]
Add support for elogind

A session manager similar to logind from systemd.
See https://github.com/elogind/elogind

Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
7 years agodocs: Mention in sysctl.8 that a filename is read once
Jan Rybar [Fri, 29 Dec 2017 04:37:49 +0000 (15:37 +1100)]
docs: Mention in sysctl.8 that a filename is read once

Added note into sysctl.8 manpage about directory precedence.

This information may be important for users who create new config files at several destinations. Especially the information about files to be omitted in directories with lower priority shall be given.

7 years agoAdd news for previous commit
Craig Small [Fri, 29 Dec 2017 04:26:10 +0000 (15:26 +1100)]
Add news for previous commit

References:
 procps-ng/procps!55
 387e2cf

7 years agoMerge branch 'tbodt/procps-master'
Craig Small [Fri, 29 Dec 2017 04:24:34 +0000 (15:24 +1100)]
Merge branch 'tbodt/procps-master'

7 years agoAllow empty string for value
Theodore Dubois [Sat, 9 Dec 2017 00:05:40 +0000 (16:05 -0800)]
Allow empty string for value

7 years agoMerge branch 'jrtc27/procps-cross-platform'
Craig Small [Sat, 23 Dec 2017 06:50:03 +0000 (17:50 +1100)]
Merge branch 'jrtc27/procps-cross-platform'

7 years agosig: Move runtime signal count check to compile time
James Clarke [Fri, 13 Oct 2017 16:09:47 +0000 (17:09 +0100)]
sig: Move runtime signal count check to compile time

Since the value of number_of_signals is known at compile time, we can
use a compile-time check instead. This also adds SIGLOST for the Hurd,
uses the correct signal counts for the Hurd and FreeBSD, and only gives
a compile-time warning when compiled on an unknown platform that it does
not know whether the number of signals is correct.

7 years agotop: allow more flexible approach for startup defaults
Jim Warner [Sun, 17 Dec 2017 06:00:00 +0000 (00:00 -0600)]
top: allow more flexible approach for startup defaults

Those references below offer more detail regarding the
default startup changes beginning with version 3.3.10.

It is important to remember that all such changes were
supposed to impact only new users or users who had not
saved the personal config file (via that 'W' command).
However, I introduced a bug wherein the rcfile was not
fully honored. This gave the changes a bad reputation.

That bug was corrected in release 3.3.11 but the issue
of default startup options keeps resurfacing. And it's
clear there's no consensus on what should be included.

Our --disable-modern-top configure option is of little
help since it remains an all-or-nothing approach. What
we need is an answer offering unlimited customization.
So, this commit will provide distribution packagers or
system administrators with a much more flexible way to
set their own preferred startup default configuration.

A new rcfile is being introduced: '/etc/topdefaultrc',
whose format/content is the same as a personal rcfile.
Thus once a 'proper' enterprise configuration has been
established and saved via 'W', it can be copied to the
/etc/ directory. Thereafter, startup in the absence of
a saved rcfile will use that configuration as default.

Now if a distribution packager or system administrator
wishes to expose their users to some of top's advanced
capabilities they can do so gradually. Perhaps setting
up graph mode for summary area task and memory display
while retaining the %CPU sort could be tried. Or maybe
showing colors, but better customized for a particular
terminal emulator. Such possibilities are now endless.

[ in exploiting this new capability, i hope that the ]
[ other windows (alt display mode) aren't overlooked ]

Reference(s):
. Sep, 2014 - Not fully honoring rcfile bug discussed
https://www.freelists.org/post/procps/top-saved-rcfile-bug
. Oct, 2014 - Attempt to defend new startup defaults
https://bugzilla.redhat.com/show_bug.cgi?id=1153049
. Jul, 2015 - Forest vs. %CPU views discussion
https://gitlab.com/procps-ng/procps/issues/6
. Oct, 2017 - Question the use of --disable-modern-top
https://bugzilla.redhat.com/show_bug.cgi?id=1499410
. Oct, 2017 - Forest vs. %CPU views discussion again
https://www.freelists.org/post/procps/Forest-mode-by-default-in-top-seems-a-bit-strange
. Dec, 2017 - Rehash of 3.3.10 startup defaults change
https://gitlab.com/procps-ng/procps/issues/78

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agolibrary: relocate the typedef used in alloc.h override
Jim Warner [Sat, 16 Dec 2017 06:00:00 +0000 (00:00 -0600)]
library: relocate the typedef used in alloc.h override

There is no longer justification for placing a typedef
employed in overriding that alloc.h message handler in
the procps.h header file. So this commit just moves it
to the alloc.h header file itself where's it's needed!

[ gosh, sure wish i had thought to relocate this guy ]
[ when the changes in the 1st commit shown were made ]

Reference(s):
. most recent related changes
commit 18e5aecd2b61387ebd82c83f6f716e4c8e093272
. place where it *should* have been relocated
commit 2865ded64e72e0bec721dad9b442dab0899ee2b0

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agotop: miscellaneous changes to whitespace/comments only
Jim Warner [Fri, 15 Dec 2017 05:00:00 +0000 (00:00 -0500)]
top: miscellaneous changes to whitespace/comments only

[ ok, there's also 1 newly added #undef included too ]

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agodocs: Update pgrep.1 example to more modern browser
Craig Small [Fri, 22 Dec 2017 03:56:08 +0000 (14:56 +1100)]
docs: Update pgrep.1 example to more modern browser

7 years agowatch: Support ANSI 39,49 reset sequences
Craig Small [Wed, 20 Dec 2017 11:09:41 +0000 (22:09 +1100)]
watch: Support ANSI 39,49 reset sequences

ANSI colour sequences 39 and 49 reset the foreground and background
colours respectively. This feature was missing from watch using the
colour "-c" option.

References:
 Fixes #73
 https://en.wikipedia.org/wiki/ANSI_escape_code#SGR_(Select_Graphic_Rendition)_parameters

7 years agoslabtop: let's stop always ignoring the last slab node
Jim Warner [Thu, 30 Nov 2017 06:00:00 +0000 (00:00 -0600)]
slabtop: let's stop always ignoring the last slab node

This patch will fix a fencepost error that has existed
since at least 2004, the result of which was to always
completely ignore that last merged / sorted slab node.

[ Of course, little harm was done since output would ]
[ have been limited to a terminal's height. Thus, it ]
[ would have required a huge display before noticed. ]

[ But, now that the run once switch shows everything ]
[ such an omission would become really unforgivable. ]

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agoslabtop: for run_once switch (-o), output all slabinfo
Jim Warner [Mon, 27 Nov 2017 06:00:00 +0000 (00:00 -0600)]
slabtop: for run_once switch (-o), output all slabinfo

It doesn't make sense to restrict the number of output
lines to the total of terminal rows when using the run
once command line switch. And, in fact, that's how the
newlib version of slabtop works. Everything is output.

So, this commit places both versions on equal footing.

[ it was even worse if the switch was used in a pipe ]
[ since only 23 lines would have then been displayed ]

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agotop: exploit msg handler override to avoid corrupt tty
Jim Warner [Tue, 14 Nov 2017 05:00:00 +0000 (00:00 -0500)]
top: exploit msg handler override to avoid corrupt tty

Way back in November of 2011, the library was equipped
with an overridable error message handler function. It
was done expressly for a program like top which alters
the tty. But that support was withdrawn shortly after.

This was all done in the lead up to v3.3.2. That's the
release where NLS support was added and it represented
a hectic time. In hindsight, the changes went too far.

So this commit, in a minimal fashion, restores ability
to address a potential fatal library error. After all,
any properly behaving library would never unilaterally
subject a caller to a stderr message and then an exit.

[ when exposing 1 variable in libprocps.sym, 2 other ]
[ existing symbols were repositioned alphabetically. ]

Reference(s):
. generalized library memory provisions
commit 7126cc4491847ce5d50e603fe48666f94bfc60bf
. top exploit library memory provisions
commit 88087ec5a5968304d6461be2c2fbe05885ffdad8
. library xalloc type functions made private
commit 2865ded64e72e0bec721dad9b442dab0899ee2b0
. restored prior top memory logic
commit 05f5deb97c454b3558892ff4266efc81547f88d5

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agotop: add and/or expand a couple more translation hints
Jim Warner [Mon, 13 Nov 2017 05:00:00 +0000 (00:00 -0500)]
top: add and/or expand a couple more translation hints

After noticing that the 'uk' translation expanded what
was supposed to be a 3 line header into 5 lines, seems
appropriate to offer more guidance on max lines count.

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agotop: stop neglecting potential utf8 field descriptions
Jim Warner [Sun, 8 Oct 2017 05:00:00 +0000 (00:00 -0500)]
top: stop neglecting potential utf8 field descriptions

And I thought those strange characters I saw with only
certain translations in Fields Management descriptions
were resulting from my terminal emulator deficiencies.

Turns out that ol' top wasn't addressing possibilities
of such descriptions ending with multi-byte sequences.

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agotop: eliminate that potential vulnerability for TOCTOU
Jim Warner [Sat, 7 Oct 2017 05:00:00 +0000 (00:00 -0500)]
top: eliminate that potential vulnerability for TOCTOU

Initially, I was going to ignore that coverity warning
CID #177876. But, since top may be running SETUID it's
best if it can be avoided instead. The fix was simple.

We'll trade the access() call for a real fopen() call.
This time-of-check-time-of-use warning should go away.
------------------------------------------------------

When XDG support was originally introduced in top, the
author made a poor choice in access(). A real question
that needed asking was 'does the file exist'. However,
the question that was asked was 'can this real user ID
or this real group ID access the file'. Then, when the
fopen() is finally issued, top would use the effective
user ID or the effective group ID to access that file.

That's what opened the potential TOCTOU vulnerability,
which was important only if top was running SUID/SGID.

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agotop: make 'utf8_justify' independent of non-utf8 logic
Jim Warner [Fri, 6 Oct 2017 05:00:00 +0000 (00:00 -0500)]
top: make 'utf8_justify' independent of non-utf8 logic

By eliminating the call to 'fmtmk', the 'utf8_justify'
function could more easily be used in libproc someday.

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agotop: utf8 utils should observe indentation conventions
Jim Warner [Fri, 6 Oct 2017 05:00:00 +0000 (00:00 -0500)]
top: utf8 utils should observe indentation conventions

Gosh, all this time we used indents of 4 spaces, not 3
spaces which were always the top standard indentation.

[ and we made our 'utf8_embody' a little more robust ]

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agotop: ensure bug report suggestion agrees with man page
Jim Warner [Fri, 6 Oct 2017 05:00:00 +0000 (00:00 -0500)]
top: ensure bug report suggestion agrees with man page

The top man page was changed back on 10/20/15, in that
commit shown below. There, freelists.org was suggested
as the bug reports recipient. But, the program was not
changed from the original Debian bug reports approach.

Reference(s):
commit b1f7b2a50967e69ce2e3d02372203fe70b6486c9

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agotop: make the 'utf8_proper_col' routine more efficient
Jim Warner [Wed, 4 Oct 2017 05:00:00 +0000 (00:00 -0500)]
top: make the 'utf8_proper_col' routine more efficient

This patch better exploits short-circuit evaluation in
two 'if' tests. In every case, the 1st of 2 conditions
in each 'if' test must take place but it always proves
true with each iteration for 1 of the 'if' statements.
Thus, the 2nd condition will have to be evaluated too.

By reordering 2 tests in each 'if', we can ensure that
the 2nd condition will then be tested much less often.

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agotop: make that 'make_str_utf8' function more efficient
Jim Warner [Wed, 4 Oct 2017 05:00:00 +0000 (00:00 -0500)]
top: make that 'make_str_utf8' function more efficient

Upon reflection, there was absolutely no justification
for that call to strlen() which was then followed by a
call to snprintf(). The latter provides this needed #.

[ also make that 'delta' value a little more visible ]
[ instead of hiding it at the end of a its code line ]

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agotop: ensured one translation hint agrees with template
Jim Warner [Tue, 3 Oct 2017 05:00:00 +0000 (00:00 -0500)]
top: ensured one translation hint agrees with template

Now that top can properly handle translated multi-byte
strings I've been reviewing translated efforts so far,
and weighing output against related translation hints.

In one case, a translation hint has not kept pace with
the current program state. In addition, that same hint
could be expanded to suggest translation alternatives.

[ frankly I never expected the translators to tackle ]
[ some of those 'special' strings. the task appeared ]
[ just too daunting. but they have done a great job! ]

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agotop: improve the translator hint regarding field width
Jim Warner [Mon, 2 Oct 2017 14:00:00 +0000 (09:00 -0500)]
top: improve the translator hint regarding field width

Reference(s):
https://www.freelists.org/post/procps/Does-COMMAND-really-have-to-be-at-most-7-characters,2

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agotop: correct an insidious occasional truncation buglet
Jim Warner [Mon, 2 Oct 2017 04:59:59 +0000 (23:59 -0500)]
top: correct an insidious occasional truncation buglet

With the help of our Swedish translator, hopefully the
final buglet has now been vanquished in the multi-byte
translation support. This one was a real nasty bugger.

Although it didn't occur with every terminal emulator,
occasionally random text lines were being chopped off.

As it turns out, those terminals were blameless. There
were two separate places in top's show_special routine
where potential multi-byte sequences were inadequately
addressed. Solution: exploit existing utf-8 functions.

[ it also became apparent that the translation hints ]
[ in the top_nls module were deficient. so a special ]
[ caution was added regarding the final line of txt. ]

Reference(s):
https://gitlab.com/procps-ng/procps/issues/68

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agotop: plug a small potential hole in multi-byte support
Jim Warner [Sun, 1 Oct 2017 22:59:59 +0000 (17:59 -0500)]
top: plug a small potential hole in multi-byte support

Unlike the insp_mkrow_raw function the insp_mkrow_utf8
routine is not equipped to print non-ctl, non-printing
characters like '<7f>'. However, technically that very
value currently slips through the cracks. So with this
patch top will now print a space in the unlikely event
a character with the value of 127 is ever encountered.

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agops: don't use '+' truncation indicator with multi-byte
Jim Warner [Sun, 1 Oct 2017 16:59:59 +0000 (11:59 -0500)]
ps: don't use '+' truncation indicator with multi-byte

The ps program generally supports multi-byte sequences
in strings representing user and group names. However,
should a multi-byte sequence span the maximum width of
a column, the '+' inserted by ps to signify truncation
will corrupt that sequence, misaligning the text line.

Unfortunately, there's insufficient info returned from
the escape_str function (who calls escape_str_utf8) to
provide a robust response. So, this commit will revert
to the old standby of displaying a number when the '+'
character would've corrupted that multi-byte sequence.

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agotop: extend utf-8 multi-byte support to users & groups
Jim Warner [Sat, 30 Sep 2017 07:22:22 +0000 (02:22 -0500)]
top: extend utf-8 multi-byte support to users & groups

Since all the necessary utf-8 plumbing is now in place
this commit will extend multi-byte support to user and
group names. Now top will be on a par with the ps guy.

[ plus, it's also my way of showing appreciation for ]
[ all those investments silently made by translators ]

Reference(s):
https://gitlab.com/procps-ng/procps/issues/68

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agotop: some minor tweaks to the utf-8 multi-byte support
Jim Warner [Sat, 30 Sep 2017 06:11:11 +0000 (01:11 -0500)]
top: some minor tweaks to the utf-8 multi-byte support

Translatable column headers are supposed to be limited
to no more than 7 characters, even though some columns
are wider than that or even variable width. That value
of 7 is dictated by the Fields Management screen which
will otherwise truncate a column header longer than 7.

Our new utf-8 support did not adequately deal with the
potential need for truncation of column headers should
that limit of 7 be exceeded. This patch corrects that.

[ a few comments were also tweaked just a little bit ]

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agoNEWS: acknowledged top's multi-byte support extensions
Jim Warner [Wed, 27 Sep 2017 05:04:44 +0000 (00:04 -0500)]
NEWS: acknowledged top's multi-byte support extensions

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agotop: extend multi-byte support to 'Inspection' feature
Jim Warner [Wed, 27 Sep 2017 05:03:33 +0000 (00:03 -0500)]
top: extend multi-byte support to 'Inspection' feature

The previous commit implemented multi-byte support for
the basic top user interaction and display provisions.
This commit completes multi-byte support by addressing
that 'Inspect Other Output' feature (the 'Y' command).

Few people probably exploit this very powerful feature
which allows the perusing of any file or piped output.
And even if nobody uses 'Y', someone will stumble over
it on the help screen and try it out. Assuming top was
not built with INSP_OFFDEMO defined, they'll end up on
the screen our translators have faithfully translated.

Without this patch, such a screen would display with a
bunch of 'unprintable' characters which will then show
in the standard (less-like) way as: '^A', '<C3>', etc.
In other words, those poor screens will be a big mess!

[ this program can even display an executable binary ]
[ while at that same time supporting Find/Find Next. ]
[ imagine, a file with no guarantee of real strings! ]
[ just try a Find using less with such binary files. ]

With this commit, the translated 'Y' demo screens will
now be properly shown, providing no invalid multi-byte
characters have been detected. Should that be the case
then they'll be displayed in that less-like way above.

And, if users go on to fully exploit this 'Y' command,
there is a good chance that a file or pipe might yield
output in a utf-8 multi-byte form. Should that be true
such output will thus be handled appropriately by top.

[ in many respects, this change was more challenging ]
[ than the basic support within the previous commit. ]
[ story of my life: least used = most effort needed. ]

Many thanks to our procps-ng translators which enabled
a proper test of these changed 'Y' command provisions:
. Vietnamese: Trần Ngọc Quân
. Polish: Jakub Bogusz
. German: Mario Blättermann
. French: Frédéric Marchal, Stéphane Aulery

[ and my sincerest apologies too, for my negligence! ]

Reference(s):
https://gitlab.com/procps-ng/procps/issues/68

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agotop: refactored for correct multi-byte string handling
Jim Warner [Wed, 27 Sep 2017 05:02:22 +0000 (00:02 -0500)]
top: refactored for correct multi-byte string handling

When this project first began implementing translation
support nearly 6 years ago, we overcame many 'gettext'
obstacles and limitations.  And, of course, there were
not any actual translations at the time so our testing
was quite limited plus, in many cases, only simulated.

None of that, however, can justify or excuse the total
lack of attention to top's approach to NLS, especially
since some actual translations have existed for years.

When the issue referenced below was raised, I suffered
immediate feelings of anxiety, doubt and pending doom.
This was mostly because top strives to avoid line wrap
at all costs and that did not bode well for multi-byte
translated strings, using several bytes per character.

I was also concerned over possible performance impact,
assuming it was even possible to properly handle utf8.

But, after wrestling with the problem for several days
those initial feelings have now been replaced by guilt
over any trouble I initially caused those translators.

One can only imagine how frustrating it must have been
after the translation effort to then see top display a
misaligned column header and fields management page or
truncated screens like those of help or color mapping.
------------------------------------------------------

Ok, with that off my chest let's review these changes,
now that top properly handles UTF8 multi-byte strings.

. Performance - virtually all of this newly added cost
for multi-byte support is incurred during interactions
with the user. So, performance is not really an issue.

The one occasion when performance is impacted is found
during 'summary_show()' processing, due to an addition
of one new call to 'utf8_delta()' in 'show_special()'.

. Extra Wide Characters - I have not yet and may never
figure out a way to support languages like zh_CN where
the characters can be wider than most other languages.

. Translated User Name - at some future point we could
implement translation of user names. But as the author
of the issue acknowledged such names are non-standard.
Thus task display still incurs no new multi-byte costs
beyond those already incurred in that escape.c module.

For raising the issue I extend my sincerest thanks to:
Göran Uddeborg

Reference(s):
https://gitlab.com/procps-ng/procps/issues/68

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agotop: correct a minor instance of wrong NLS macro usage
Jim Warner [Wed, 27 Sep 2017 05:01:11 +0000 (00:01 -0500)]
top: correct a minor instance of wrong NLS macro usage

The 'N_fmt' and 'N_txt' macros are interchangeable and
just highlight the 2 str types found in Norm_nlstable.

The change in this patch (strictly cosmetic) was found
during the coding for what will be the next 2 commits.
It has not been squashed into either of those so as to
not muddy up the waters for what was a major refactor.

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agoadd changelog for previous
Craig Small [Sun, 24 Sep 2017 23:14:00 +0000 (09:14 +1000)]
add changelog for previous

7 years agovmstat: Fix alignment for disk partition format
Craig Small [Sun, 24 Sep 2017 23:09:57 +0000 (09:09 +1000)]
vmstat: Fix alignment for disk partition format

The disk partition format translation hint, the actual text and the
printf statements were all diagreeing with each other. This meant
the disk partition output from vmstat was a mess.

Now all the titles and values line up and everything is right-aligned
which looks better than some half-hearted attempt at center-aligned
for titles and right-aligned for values.

Thanks to @goeran for the heads-up in #69

7 years agoMerge branch 'lakerka/procps-patch1'
Craig Small [Sat, 23 Sep 2017 07:34:37 +0000 (17:34 +1000)]
Merge branch 'lakerka/procps-patch1'

* lakerka/procps-patch1:
  whattime: Fix formatting
  whattime: Show 0 minutes in pretty output

7 years agowhattime: Fix formatting
Kyle Laker [Thu, 23 Mar 2017 17:26:46 +0000 (13:26 -0400)]
whattime: Fix formatting

Update formatting within the if block to two spaces

7 years agowhattime: Show 0 minutes in pretty output
Kyle Laker [Thu, 23 Mar 2017 14:53:55 +0000 (10:53 -0400)]
whattime: Show 0 minutes in pretty output

When supplying the -p command to uptime, it does not display any
sections where the value is less than 1; however, after a reboot, this
causes the command to just output "up". Showing 0 minutes when the
system has been up for less than a minute makes it clear a reboot just
occurred.

7 years agoConsolidated patch of previously merged CYGWIN support
Wayne Porter [Wed, 30 Aug 2017 20:15:15 +0000 (15:15 -0500)]
Consolidated patch of previously merged CYGWIN support

The combined results of merge request #49 without that
overhead plus distortion in this repository's history.

Prototyped-by: Wayne Porter <wporter82@gmail.com>
7 years agoAvoid confusing messages caused by EIO on reading
Werner Fink [Fri, 7 Jul 2017 12:09:12 +0000 (14:09 +0200)]
Avoid confusing messages caused by EIO on reading

/proc/sys/net/ipv6/conf/*/stable_secret if those are not set yet.

Signed-off-by: Werner Fink <werner@suse.de>
7 years agoIncrease standard I/O buffer a lot to be able to
Werner Fink [Fri, 7 Jul 2017 12:09:11 +0000 (14:09 +0200)]
Increase standard I/O buffer a lot to be able to

read huge informations at once as otherwise all files below
/proc/sys, not using the seq_file API at the kernel side,
will return EOF on a second read.

Signed-off-by: Werner Fink <werner@suse.de>
7 years agoFix out of boundary write on 1x1 terminals
Tobias Stoeckmann [Sun, 19 Feb 2017 15:12:42 +0000 (15:12 +0000)]
Fix out of boundary write on 1x1 terminals

If a terminal is merely 1x1 in size, setsize() will write a nul byte in
front of the allocated memory, which is an out of boundary write.

7 years agotop: protect against the anomalous 'Mem' graph display
Jim Warner [Thu, 17 Aug 2017 06:11:11 +0000 (01:11 -0500)]
top: protect against the anomalous 'Mem' graph display

Until this patch, top falsely assumed that there would
always be some (small) amount of physical memory after
subtracting 'used' and 'available' from the total. But
as the issue referenced below attests, a sum of 'used'
and 'available' might exceed that total memory amount.

I'm not sure if this is a problem with our calculation
of the 'used' amount, a flaw in the kernel 'available'
algorithms or some other reason I cannot even imagine.

Anyway, this patch protects against such a contingency
through the following single line addition of new code
. if (pct_used + pct_misc > 100.0 || pct_misc < 0) ...

The check for less than zero is not actually necessary
as long as the source numbers remain unsigned. However
should they ever become signed, we'll have protection.

[ Most of the changes in this commit simply separate ]
[ a variable's definition from its associated logic. ]

Reference(s):
https://gitlab.com/procps-ng/procps/issues/64

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agotop: address a Debian wishlist NLS man page suggestion
Jim Warner [Sun, 13 Aug 2017 05:00:00 +0000 (00:00 -0500)]
top: address a Debian wishlist NLS man page suggestion

Reference(s):
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=865689

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agoNEWS: add issue and bugzilla references where possible
Jim Warner [Thu, 10 Aug 2017 05:00:00 +0000 (00:00 -0500)]
NEWS: add issue and bugzilla references where possible

And we repositioned the kill line (Debian #854407) for
alphabetic integrity and conformance with newlib NEWS.

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agotop: refresh interval accepts non-locale decimal value
Jan Rybar [Sat, 5 Aug 2017 22:00:00 +0000 (00:00 +0200)]
top: refresh interval accepts non-locale decimal value

For the past 3 years top has fully honored that locale
LC_NUMERIC setting which impacts his refresh interval.
For the past nearly 5 years top has saved that refresh
value in a locale independent form in his config file.

With this commit we'll intentionally break top so that
a comma or period will be accepted for the radix point
regardless of what that LC_NUMERIC may have suggested.

The current locale LC_NUMERIC will, however, determine
how the delay interval is displayed in the 'd' prompt.

[ This position is better than the approach employed ]
[ by those coreutils 'sleep' and 'timeout' programs. ]
[ Both claim to permit floating point arguments. But ]
[ neither one will accept the comma separator should ]
[ the locale be a country that in fact uses a comma. ]

Reference(s):
https://gitlab.com/procps-ng/procps/merge_requests/50

Prototyped by: Jan Rybar <jrybar@redhat.com>
Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agotop: fixing command line parsing errors is now a habit
Jim Warner [Wed, 21 Jun 2017 01:20:20 +0000 (20:20 -0500)]
top: fixing command line parsing errors is now a habit

Ok, I admit it. I'm now tired of cleaning up after me.

This is the 3rd related tweak after that '-1' argument
was originally introduced. And with this patch we will
once again properly honor the '-o' and '-u|U' switches
without a need to be followed by an additional switch.

[ one can follow my unfortunate trail of alterations ]
[ beginning with my most recent fix referenced below ]

Reference(s):
commit 4b44aebd807bd132c14df20eabff2f2e9628ef97

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agotop: ensure necessary proc_t support if '-U' filtering
Jim Warner [Thu, 15 Jun 2017 17:00:00 +0000 (12:00 -0500)]
top: ensure necessary proc_t support if '-U' filtering

While the effective user id would always be present in
each proc_t, thus supporting 'u' filtering, other user
ids would only be present if /proc/$$/status was read.

This commit just puts the 'master' branch top on a par
with the 'newlib' branch when user filtering with 'U'.

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agotop: correct functioning of the '-p' command line args
Jim Warner [Mon, 22 May 2017 17:00:00 +0000 (12:00 -0500)]
top: correct functioning of the '-p' command line args

With the introduction of a new '1' command line toggle
I have gone and broken a provision of the '-p' command
line switch (pids monitoring). Multiple pids could not
be specified through the use of comma delimited lists.

Thus, this commit simply corrects that newly added bug
which was born in the 'adjustment' commit shown below.

Reference(s):
. adjustment to '-1' implementation
commit 909b37d755fe22ee75b3115d4d402cf5f70708ae

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agosysctl: Print lines longer than 1024 chars
Werner Fink [Mon, 22 May 2017 12:31:34 +0000 (22:31 +1000)]
sysctl: Print lines longer than 1024 chars

as well do not open /proc/sys files if only the names of the
system control names of the kernel parameters should be shown.
Avoid leaking tmpname in case of a pattern mismatch.

Signed-off-by: Werner Fink <werner@suse.de>
7 years agotop: address the argument parsing quirk involving '-h'
Jim Warner [Wed, 17 May 2017 05:00:00 +0000 (00:00 -0500)]
top: address the argument parsing quirk involving '-h'

There exists the possibility that a 'putp' call can be
issued before the 'setupterm' invocation has occurred,
as is reflected in a bugzilla report referenced below.

Strangely, such a SEGV isn't always triggered as logic
would suggest it ought to be. I experienced a fault in
these environments with the associated curses version:
. archlinux, procps-ng 3.3.12, ncurses 6.0.20170429
. fedora-25, procps-ng 3.3.10, ncurses 6.0.20160709
. opensuse-42.2, procps-ng 3.3.9, ncurses 5.9.20140201
. gentoo, procps-ng 3.3.12, ncurses 6.0.20150808
. slackw-14.2, procps-ng 3.3.12, ncurses 6.0.20160910

Whereas under these environments there was no problem:
. ubuntu-17.04, procps-ng 3.3.12, ncurses 6.0.20160625
. debian-test, procps-ng 3.3.12, ncurses 6.0.20161126
. mageia-5.1, procps-ng 3.3.9, ncurses 5.9.20140323

[ as an aside, the expected result in the bug report ]
[ is incorrect and should mention the '1' parameter. ]

[ however, until release 3.3.13 when the '1' becomes ]
[ a valid switch, numbers are not detected when used ]
[ with any switch which doesn't require an argument. ]

[ you're welcome to treat that as a separate bugglet ]

Reference(s):
https://bugzilla.redhat.com/show_bug.cgi?id=1450429

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agoNEWS: update/alphabetize enhancements for next release
Jim Warner [Sat, 13 May 2017 05:05:00 +0000 (00:05 -0500)]
NEWS: update/alphabetize enhancements for next release

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agops: have now added the NUMA node field display support
Jim Warner [Sat, 13 May 2017 05:04:00 +0000 (00:04 -0500)]
ps: have now added the NUMA node field display support

[ this patch has been adapted from the newlib branch ]

Reference(s):
https://gitlab.com/procps-ng/procps/issues/58

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agotop: now includes that NUMA node field display support
Jim Warner [Sat, 13 May 2017 05:03:00 +0000 (00:03 -0500)]
top: now includes that NUMA node field display support

[ this patch has been adapted from the newlib branch ]

Reference(s):
https://gitlab.com/procps-ng/procps/issues/58

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agolibrary: set stage for NUMA node field display support
Jim Warner [Sat, 13 May 2017 05:02:00 +0000 (00:02 -0500)]
library: set stage for NUMA node field display support

In response to that suggestion referenced below, these
changes allow display of task/thread level NUMA nodes.

Currently, only the 'top' program offers any NUMA type
support and it is limited to the Summary Area display.
With this commit both the 'top' and 'ps' programs will
be able to display NUMA nodes associated with threads.

[ this patch has been adapted from the newlib branch ]
[ and implemented so as to preserve the existing ABI ]

Reference(s):
https://gitlab.com/procps-ng/procps/issues/58

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agomisc: eliminate all those remaining gcc -Wall warnings
Jim Warner [Sat, 13 May 2017 05:01:00 +0000 (00:01 -0500)]
misc: eliminate all those remaining gcc -Wall warnings

Reference(s):
proc/readproc.c: In function 'statm2proc'
proc/readproc.c:627:9: warning: variable 'num' set but not used [-Wunused-but-set-variable]

ps/output.c: In function 'pr_context':
ps/output.c:1273:14: warning: unused variable 'tried_load' [-Wunused-variable]
ps/output.c:1272:16: warning: unused variable 'ps_is_selinux_enabled' [-Wunused-variable]
ps/output.c:1272:16: warning: 'ps_is_selinux_enabled' defined but not used [-Wunused-variable]
ps/output.c:1273:14: warning: 'tried_load' defined but not used [-Wunused-variable]
ps/output.c:1837:18: warning: 'shortsort_array_count' defined but not used [-Wunused-const-variable=]
ps/output.c:1803:18: warning: 'aix_array_count' defined but not used [-Wunused-const-variable=]

ps/parser.c: In function 'arg_type':
ps/parser.c:1098:3: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
ps/parser.c:1099:34: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'if'

ps/sortformat.c: In function 'format_parse':
ps/sortformat.c:241:1: warning: label 'out' defined but not used [-Wunused-label]

ps/stacktrace.c:176:13: warning: 'stack_trace_sigsegv' defined but not used [-Wunused-function]

watch.c: In function 'process_ansi':
watch.c:234:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
watch.c:237:2: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'if'

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agotop: correct man page alphabetical order for -E switch
Jim Warner [Sat, 13 May 2017 05:00:00 +0000 (00:00 -0500)]
top: correct man page alphabetical order for -E switch

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agotop: provide more accurate cpu usage stats for startup
Jim Warner [Thu, 23 Mar 2017 05:00:00 +0000 (00:00 -0500)]
top: provide more accurate cpu usage stats for startup

The top program already incorporated a modest delay at
startup so that some minimal process cpu history could
be established. However, Summary Area system level cpu
statistic history reflected usage since boot. As such,
unchanging % values would be shown with every restart.

This commit just adopts the same approach used in task
%CPU history for the Summary Area statistics. In other
words, it introduces a 'priming read' at startup as is
found in the newlib implementation for the <stat> API.

Reference(s):
https://gitlab.com/procps-ng/procps/merge_requests/42

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agotop: make command line switch parsing even more robust
Jim Warner [Mon, 20 Mar 2017 05:00:00 +0000 (00:00 -0500)]
top: make command line switch parsing even more robust

This program has always tried to maintain an extermely
robust command line parsing procedure, far more robust
that what's available with the getopt stuff. But, with
the introduction of our first numeric switch it should
have been made even more robust than, in fact, it was.

This commit will now accomplish such a desirable goal.

Reference(s):
. added '1' command line switch
commit 89db82d143d005dcc0b8af1bc1f3b1204c88730a

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agotop: just update all of the copyright dates in sources
Jim Warner [Sun, 12 Mar 2017 05:00:00 +0000 (00:00 -0500)]
top: just update all of the copyright dates in sources

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agotop: by default, show cmd line vs. cmd name at startup
Jim Warner [Sat, 11 Mar 2017 05:00:00 +0000 (00:00 -0500)]
top: by default, show cmd line vs. cmd name at startup

All of top's display was designed to fit into an 80x24
terminal. This includes the help screens plus both the
Summary and Task Areas, assuming no saved config file.

With release 3.3.10, the startup defaults were changed
assuming ./configure --disable-modern-top wasn't used.
This was done in the hope of introducing some users to
unknown capabilities such as colors, forest view, etc.

The purpose of this commit is to coax a few more users
into possibly exploring another capability: scrolling.
We do so by tweaking the default startup display so as
to show full command lines. Now, when things no longer
fit in 80x24, horizontal scrolling might be exploited.

[ of course, this can be reversed with the -c switch ]

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agotop: provide -1 command line switch as 'Cpu(s)' toggle
Jim Warner [Fri, 10 Mar 2017 06:00:00 +0000 (00:00 -0600)]
top: provide -1 command line switch as 'Cpu(s)' toggle

If built without ./configure --disable-modern-top, the
program displays each cpu individually providing there
is sufficient vertical screen real estate. For massive
SMP environments this will necessitate use of a config
file where the cpu summary toggle ('1') could be saved
via the 'W' command. But, an rcfile may not be viable.

So this commit introduces a '1' command line switch to
emulate exactly the effects of the interactive toggle.

And since it is our first numeric switch some existing
parsing logic had to be changed slightly. Such changes
are, in truth, an improvement. For example, instead of
seeing "inappropriate '2'" with ./top -2 we'll now see
the vastly more appropriate error "unknown option '2'.

References(s):
https://gitlab.com/procps-ng/procps/issues/55

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agotop: provide -E command line switch for memory scaling
Jim Warner [Thu, 9 Mar 2017 06:00:00 +0000 (00:00 -0600)]
top: provide -E command line switch for memory scaling

In their 3.2.7 version of top, Redhat introduced an -M
switch to automatically scale Summary Area memory data
to avoid truncation (and the resulting '+' indicator).

The procps-ng top does not employ suffixes with memory
data nor does it allow for different scaling with each
separate value. Rather, scaling appears at line start.

If built without ./configure --disable-modern-top, the
Summary Area memory will be scaled at GiB which should
lessen chance of truncation. Otherwise KiB was used to
reflect such memory, increasing the truncation chance.

And while 'W' can be used to preserve some appropriate
scaling value, there are arguments against such rcfile
approaches as cited in the issue and bug report below.

So this commit will bump the Summary Area memory scale
factor from KiB to MiB when using --disable-modern-top
as a concession to that Redhat bug report noted below.

And it also introduces a new command line switch which
can force any desired scaling regardless of the rcfile
or which ./configure option might have been specified.

[ for top's help text we'll show 'E' as if it were a ]
[ switch without arguments in order to keep the help ]
[ text displayable without wrap in an 80x24 terminal ]

[ the man page, however, will show all k-e arguments ]

Reference(s):
https://gitlab.com/procps-ng/procps/issues/53
https://bugzilla.redhat.com/show_bug.cgi?id=1034466

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agotop: show fewer decimal places for memory (by default)
Jim Warner [Wed, 8 Mar 2017 06:00:00 +0000 (00:00 -0600)]
top: show fewer decimal places for memory (by default)

After much reflection I've come to the conclusion that
displaying 3 decimal places (usually) when memory data
had been scaled is no longer optimal with today's ever
increasing amounts. And given that not all task memory
fields are the same widths, inconsistencies can easily
arise as illustrated and discussed in the issue below.

Instead of unilaterally reducing the number of decimal
places, this commit will sneak in such a change via an
existing configure option that was very likely unused.

The former 'disable-wide-memory' option has now become
'enable-wide-memory', which can be used if the current
behavior (3 decimal places) is preferred. Without that
option, whenever memory is scaled beyond KiB, just one
decimal place will be shown in Summary and Task areas.

And Task area field width will no longer be changed by
this revised configure option. Instead, all such field
widths will now be fixed at the former maximum values.

Reference(s):
https://gitlab.com/procps-ng/procps/issues/50

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agotop: correct alphabetic ordering with some enumerators
Jim Warner [Tue, 7 Mar 2017 06:00:00 +0000 (00:00 -0600)]
top: correct alphabetic ordering with some enumerators

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agokill: a better option parser
Craig Small [Tue, 7 Feb 2017 11:37:36 +0000 (22:37 +1100)]
kill: a better option parser

The previous commit would not work in newlib. Further investigation
found a better way of parsing this extra option using optind

References:
 commit 536cea324b121f54744369425332c256aa84a181

7 years agokill: -l space between name parses correctly
Craig Small [Tue, 7 Feb 2017 11:05:18 +0000 (22:05 +1100)]
kill: -l space between name parses correctly

kill -lHUP would work correctly, but kill -l HUP would not.

The list option in kill was hit by a quirk of getopt_long where an
option with an optional argument would not attempt to get the argument
beyond the space, even though a mandatory argument would do that.

The fix is a kludge to scan to the next argument and if it looks
like something we can use, use it. Lucky for us, the list option is
one where parsing can stop immediately.

Thanks to Brian Vandenberg for the way forward.

References:
 http://stackoverflow.com/questions/1052746/getopt-does-not-parse-optional-arguments-to-parameters
 https://bugs.debian.org/854407

7 years agopkill: Return 0 if successfully killed process
Craig Small [Sat, 4 Feb 2017 00:44:01 +0000 (11:44 +1100)]
pkill: Return 0 if successfully killed process

Original report:
When trying kill a process with insufficient privileges (see blow),
pkill displays the error message “... failed: Operation not permitted”,
but returns 0. Surely it should return 3?

$ pkill syslogd ; echo $?
pkill: killing pid 373 failed: Operation not permitted
0

Return value 0 means one of more things matched. For a pgrep (which
shares code with pkill) this makes sense, there was a match. It seems
wrong for pkill to return 0 when it in fact could not do what you told
it to.  However return value 3 means a fatal error and it's not fatal.

Looking at other programs when trying to kill things it cannot kill.
shell kill returns 1, procps kill returns 1, killall returns 1, skill
returns 0 (and says it was successful!, ah well poor old skill)

The consensus seems to be that you return 1 if you cannot kill it, even
if you found it. In other words the return value for both not found and
not able to kill it is the same.

pkill only returns 0 if something was killed. This means we found a
match AND the kill() system call worked too.

References:
 https://bugs.debian.org/852758

Signed-off-by: Craig Small <csmall@enc.com.au>
7 years agoNEWS: Very minor typo fixed
Craig Small [Sat, 4 Feb 2017 00:06:02 +0000 (11:06 +1100)]
NEWS: Very minor typo fixed

Signed-off-by: Craig Small <csmall@enc.com.au>
7 years agoNEWS: updated with the two most recent program changes
Jim Warner [Thu, 26 Jan 2017 06:00:00 +0000 (00:00 -0600)]
NEWS: updated with the two most recent program changes

[ in addition to program changes, this file has been ]
[ made to agree with that NEWS file under our newlib ]
[ branch since some entries were ordered differently ]
[ due to differences in the order of actual commits. ]

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agopgrep: warning about 15+ chars name only if zero matches
Jan Rybar [Thu, 26 Jan 2017 05:35:33 +0000 (16:35 +1100)]
pgrep: warning about 15+ chars name only if zero matches

pgrep: warning about 15+ chars name only if zero matches found This avoids situations where longer regex which matches short-named proc is used. Test for pgrep updated.

References:
 'pgrep_long_pattern_warn' of https://gitlab.com/jrybar/procps:

7 years agotop: Add unobtrusive XDG support
Earnestly [Wed, 11 Jan 2017 19:18:39 +0000 (19:18 +0000)]
top: Add unobtrusive XDG support

By default the file HOME/.toprc will be prefered.  This ensures there
should be minimal breakage even if this file is later created by some
other means.  Otherwise we will follow the new behaviour described by
the XDG Base Directory Specification:

If the XDG_CONFIG_HOME environment variable is available we will attempt
to use this as XDG_CONFIG_HOME/procps/toprc otherwise we will fall-back
to HOME/.config/procps/toprc instead.

Signed-off-by: Earnestly <zibeon@gmail.com>
7 years agoMerge branch 'master' of gitlab.com:procps-ng/procps
Craig Small [Tue, 3 Jan 2017 21:18:17 +0000 (08:18 +1100)]
Merge branch 'master' of gitlab.com:procps-ng/procps

7 years agotop: make for consistent & enhanced cpu % calculations
Jim Warner [Mon, 26 Dec 2016 13:07:07 +0000 (07:07 -0600)]
top: make for consistent & enhanced cpu % calculations

That issue cited below prompted some changes under the
newlib branch to standardize the calculation involving
busy, idle, user & system accumulated plus delta tics.

This patch will bring our master branch version of top
into agreement with that newlib version which exploits
some of those newly added library extended provisions.

Reference(s):
https://gitlab.com/procps-ng/procps/issues/48

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agopgrep: warning about 15+ chars name only if zero matches found
Jan Rybar [Tue, 22 Nov 2016 16:42:54 +0000 (17:42 +0100)]
pgrep: warning about 15+ chars name only if zero matches found
This avoids situations where longer regex which matches short-named proc is used.
Test for pgrep updated.

8 years agoMerge branch 'fix-99d71ad' into 'master'
Jan Rybar [Tue, 20 Dec 2016 15:01:18 +0000 (15:01 +0000)]
Merge branch 'fix-99d71ad' into 'master'

Fix 99d71ad

My previous patch has a regression. Please merge the fix of regression.

This is based on the following post.
http://www.freelists.org/post/procps/fix-regression-created-by-99d71ad

See merge request !29

8 years agops: provide 'namespace' protection for 32-bit compiles
Jim Warner [Sat, 3 Dec 2016 10:05:06 +0000 (04:05 -0600)]
ps: provide 'namespace' protection for 32-bit compiles

This patch ensures that namespace output will look the
same whether ps is built under a 32 or a 64-bit model.

[ it would have been easier to change that library's ]
[ data type, but we'll avoid breaking that ABI again ]

Signed-off-by: Jim Warner <james.warner@comcast.net>
8 years agops: now made responsive to 32 or 64-bit address widths
Jim Warner [Fri, 2 Dec 2016 07:02:03 +0000 (01:02 -0600)]
ps: now made responsive to 32 or 64-bit address widths

While a Debian bug report referenced below was limited
to the 'eip' and 'esp' fields, this patch also extends
address width adaptations to some other addresses too.

[ and, we do so in a far less invasive manner than a ]
[ redhat approach shown below adding two new fields! ]

Reference(s):
. new debian bug report
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=846361
. old redhat solution
https://bugzilla.redhat.com/show_bug.cgi?id=244152

Signed-off-by: Jim Warner <james.warner@comcast.net>
8 years agomisc: remove some trailing whitespace newly introduced
Jim Warner [Thu, 24 Nov 2016 18:12:12 +0000 (12:12 -0600)]
misc: remove some trailing whitespace newly introduced

The commit (merge) referenced below added some useless
trailing whitespace, and this patch will correct such.

[ this also updates the NEWS file for the buglet fix ]

Gosh, if folks cannot coax their editors into avoiding
such crap they should remove the '.sample' suffix from
their '.git/hooks/pre-commit.sample' file. Thereafter,
git itself will reject changes with whitespace errors.

Reference(s):
commit cc1f49aebacbe0a9b3f12744fd596669ffdb45aa

Signed-off-by: Jim Warner <james.warner@comcast.net>
8 years agotop: accumulated misc tweaks to code/comments/man page
Jim Warner [Wed, 23 Nov 2016 16:11:11 +0000 (11:11 -0500)]
top: accumulated misc tweaks to code/comments/man page

Signed-off-by: Jim Warner <james.warner@comcast.net>
8 years agoMerge branch 'ps_remove_wchan_strip' into 'master'
Jan Rybar [Wed, 23 Nov 2016 12:05:28 +0000 (12:05 +0000)]
Merge branch 'ps_remove_wchan_strip' into 'master'

ps: removed stripping of prefixes off wchan data

Implementation of what was settled on ML discussion: http://www.freelists.org/post/procps/ps-wchanf-option
'ps' does not remove "do_" and "sys_" prefixes from wchan data.

Resolves Red Hat Bugzilla #1322111

See merge request !33

8 years agops: removed stripping of prefixes off wchan data
Jan Rybar [Tue, 22 Nov 2016 15:58:14 +0000 (16:58 +0100)]
ps: removed stripping of prefixes off wchan data
resolves Red Hat Bugzilla #1322111

8 years agoMerge branch 'master' into 'master'
Craig Small [Mon, 21 Nov 2016 10:56:00 +0000 (10:56 +0000)]
Merge branch 'master' into 'master'

ps: recognize SCHED_DEADLINE

See merge request !31

8 years agops: recognize SCHED_DEADLINE
Martin Polednik [Mon, 7 Nov 2016 09:23:01 +0000 (10:23 +0100)]
ps: recognize SCHED_DEADLINE

8 years agotop: make that 'forest view' just a tad more efficient
Jim Warner [Sat, 8 Oct 2016 15:10:10 +0000 (10:10 -0500)]
top: make that 'forest view' just a tad more efficient

It makes no sense to begin our tracked nested level at
'1' then later require a '1' to be subtracted from the
level as artwork and indentation is added for display.

By beginning such tracked levels at zero, we can avoid
the need to adjust it & use it directly in a snprintf.

[ this commit parallels a patch in our newlib branch ]

Signed-off-by: Jim Warner <james.warner@comcast.net>
8 years agolibprocps: use float to calculate %use of slabtop
Takayuki Nagata [Thu, 4 Aug 2016 09:06:06 +0000 (18:06 +0900)]
libprocps: use float to calculate %use of slabtop

In some environments, 100 * nr_active_objs is calculated at first,
and the result of lower 32bits is divided by nr_objs. This occurs
even in a 64-bit architecture. So nr_active_objes > 42949672, %use
will be incorrect.

This fix casts type of nr_active_objs to float to calculate
correctly the %use in 32-bit/64-bit architectures.

Signed-off-by: Takayuki Nagata <tnagata@redhat.com>
8 years agoRevert "bprocps: fix order of operations for %use of slabinfo"
Takayuki Nagata [Wed, 27 Jul 2016 08:29:15 +0000 (17:29 +0900)]
Revert "bprocps: fix order of operations for %use of slabinfo"

This reverts commit 99d71ad5810b8fbfab5c4c6be97f3e86953b6157.

When nr_active_objs / nr_objs is calculated, the result will be 1
or 0 since the variables are integer. So the commit is wrong.

8 years agotop: just some minor tweaks to the man document (only)
Jim Warner [Thu, 29 Sep 2016 06:11:11 +0000 (01:11 -0500)]
top: just some minor tweaks to the man document (only)

This patch just parallels some adjustments/corrections
which were also implemented under the 'newlib' branch.

[ remaining differences between man documents relate ]
[ to old kernels with topic '2b. TASK and CPU State' ]
[ and a note in '4c. SORTING' for TTY + WCHAN fields ]

Signed-off-by: Jim Warner <james.warner@comcast.net>
8 years agomisc: remove some newly introduced trailing whitespace
Jim Warner [Wed, 21 Sep 2016 12:07:07 +0000 (07:07 -0500)]
misc: remove some newly introduced trailing whitespace

Maybe some folks still need a few .gitconfig tweaks to
catch the trailing whitespace errors a little earlier.

Or, at the least, after a local commit they should do:
$ git diff HEAD~1

[ and then check if git marks any with his red blobs ]

Signed-off-by: Jim Warner <james.warner@comcast.net>
8 years agoMerge branch 'sysctl_manpage_extnd' into 'master'
Craig Small [Wed, 21 Sep 2016 10:44:03 +0000 (10:44 +0000)]
Merge branch 'sysctl_manpage_extnd' into 'master'

sysctl.conf manpage - new NOTES section helps variable listing

sysctl.conf manpage now explains what tools to use to list all modifiable variables.

See merge request !28

8 years agoNOTES now contain mention of sysctl(8)
Jan Rybar [Mon, 19 Sep 2016 17:02:47 +0000 (19:02 +0200)]
NOTES now contain mention of sysctl(8)

8 years agosysctl.conf - Adds new NOTES section to manpage with info about all modifiable variables
Jan Rybar [Mon, 19 Sep 2016 14:09:42 +0000 (16:09 +0200)]
sysctl.conf - Adds new NOTES section to manpage with info about all modifiable variables

8 years agotop: finally circumvent that minor libnuma memory leak
Jim Warner [Mon, 12 Sep 2016 21:16:16 +0000 (16:16 -0500)]
top: finally circumvent that minor libnuma memory leak

Still unhappy with a minor memory leak associated with
libnuma, I experimented with omitting the dlclose that
was issued at module's end. For some reason which will
remain a mystery, the valgrind leak then went bye-bye.

So this patch just omits one use of dlclose and relies
on whatever kernel magic is at work to free the memory
when each process ends. We kept, however, the original
code (now commented-out) to serve as a future caution.

There remains one potential (but unlikely) dlclose use
near the original dlopen. But there will be no leak as
that 'numa_node_of_cpu' will not yet have been called.
This seems to be the culprit that triggers such leaks.

None of this libnuma shit would likely have come close
to hitting our fan had the numa developers provided us
with 'new' and 'unref' functions like our newlib does.

[ this commit parallels a patch in our newlib branch ]

Signed-off-by: Jim Warner <james.warner@comcast.net>
8 years agopgrep: Fix off by one error in line check
Craig Small [Sun, 11 Sep 2016 00:11:25 +0000 (10:11 +1000)]
pgrep: Fix off by one error in line check

There is now a warning if your command is longer than 15 characters
and therefore can never match. Except it was checking for more than
16 characters.

Adjusted this and added a test case.

References:
 !25
 commit 8e8835b2ee4af7947d5131895ef1719129d3e70d