Denys Vlasenko
4c20d9f2b0
extend fractional duration support to "top -d N.N" and "timeout"
...
function old new delta
parse_duration_str - 168 +168
sleep_for_duration - 157 +157
top_main 885 928 +43
timeout_main 269 312 +43
handle_input 571 614 +43
duration_suffixes - 40 +40
sfx 40 - -40
sleep_main 364 79 -285
------------------------------------------------------------------------------
(add/remove: 4/1 grow/shrink: 3/1 up/down: 494/-325) Total: 169 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-08-03 18:17:12 +02:00
Denys Vlasenko
b3e98b1ccc
top: fix "warning: unused variable new_mask"
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-03-19 20:00:10 +01:00
Denys Vlasenko
a2cae937d0
top: much faster cursor key navigation by avoiding process rescan
...
function old new delta
handle_input 549 560 +11
top_main 889 891 +2
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-03-07 04:47:52 +01:00
Denys Vlasenko
75e56a3db9
top: do unsigned rather than signed division in do_stats()
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-03-07 04:20:22 +01:00
Denys Vlasenko
86107d6dc7
top: handle much larger VSZ values
...
function old new delta
display_process_list 1018 999 -19
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-03-07 03:59:52 +01:00
Denys Vlasenko
8187e01438
*: use ESC define instead of "\033"; use ESC[m instead of ESC[0m
...
text data bss dec hex filename
922535 481 6832 929848 e3038 busybox_old
922534 481 6832 929847 e3037 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-09-13 22:48:30 +02:00
Denys Vlasenko
e440b39416
*: stop using atexit in non-debug build: saves ~260 in bss with musl
...
"builtin" below is atexit's 32-element global array of functions to call.
function old new delta
top_main 879 889 +10
launch_helper 185 193 +8
powertop_main 1555 1559 +4
sed_main 651 650 -1
slot 4 - -4
call 4 - -4
atexit 23 - -23
kill_helper 31 - -31
__funcs_on_exit 120 - -120
__cxa_atexit 168 - -168
builtin 260 - -260
------------------------------------------------------------------------------
(add/remove: 0/8 grow/shrink: 3/1 up/down: 22/-611) Total: -589 bytes
text data bss dec hex filename
912364 563 6132 919059 e0613 busybox_old
912035 563 5844 918442 e03aa busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-16 17:45:32 +02:00
Denys Vlasenko
d80302db99
top: switch to malloced "globals".
...
This seems to be more efficient:
function old new delta
clearmems - 28 +28
display_process_list 1001 1018 +17
read_cpu_jiffy 171 177 +6
do_stats 194 198 +4
reset_term 20 23 +3
topmem_sort 63 65 +2
mult_lvl_cmp 44 45 +1
get_jiffy_counts 247 248 +1
display_topmem_process_list 549 546 -3
top_main 912 879 -33
handle_input 630 549 -81
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 7/3 up/down: 62/-117) Total: -55 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-16 11:40:10 +02:00
Denys Vlasenko
727948e585
getopt32: factor out code to treat all args as options
...
Working towards making getopt32() xmalloc-free
function old new delta
make_all_argv_opts - 58 +58
top_main 914 912 -2
getopt32 1517 1458 -59
------------------------------------------------------------------------------
(add/remove: 2/0 grow/shrink: 0/2 up/down: 58/-61) Total: -3 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-04 16:33:23 +02:00
Denys Vlasenko
72089cf6b4
config: deindent all help texts
...
Those two spaces after tab have no effect, and always a nuisance when editing.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-07-21 09:50:55 +02:00
Denys Vlasenko
4eed2c6c50
Update menuconfig items with approximate applet sizes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-07-18 22:01:24 +02:00
Denys Vlasenko
6c1f348fa7
Move FEATURE_USE_TERMIOS config option to two applets which use it
...
No code changes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-01-11 16:27:12 +01:00
Denys Vlasenko
01ccdd1d3c
libbb: consolidate the code to set termios unbuffered mode
...
function old new delta
set_termios_to_raw - 116 +116
count_lines 72 74 +2
powertop_main 1458 1430 -28
top_main 943 914 -29
more_main 759 714 -45
fsck_minix_main 2969 2921 -48
conspy_main 1197 1135 -62
rawmode 99 36 -63
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 1/6 up/down: 118/-275) Total: -157 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-01-11 16:17:59 +01:00
Denys Vlasenko
0fd9fb4244
top: FEATURE_USE_TERMIOS shouldn't control reading of screen size
...
It controls whether we take input.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-01-11 10:50:08 +01:00
Denys Vlasenko
718e4fd564
top: fix help text: with !TERMIOS, no keys are affected top output
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-12-03 12:09:50 +01:00
Denys Vlasenko
f8f81ed7aa
Convert all procps/* applets to "new style" applet definitions
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-11-23 06:23:44 +01:00
Denys Vlasenko
aedc3fe19f
top: move free(prev_hist) out of signal path
...
It was seen being called recursively on repeated signals,
leading to double free
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-08-19 11:07:31 +02:00
Denys Vlasenko
3e134ebf6a
*: slap on a few ALIGN1/2s where appropriate
...
The result of looking at "grep -F -B2 '*fill*' busybox_unstripped.map"
text data bss dec hex filename
829901 4086 1904 835891 cc133 busybox_before
829665 4086 1904 835655 cc047 busybox
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-04-22 18:09:21 +02:00
Denys Vlasenko
47cfbf32fd
*: add most of the required setup_common_bufsiz() calls
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-04-21 18:18:48 +02:00
Denys Vlasenko
e6a2f4cc5a
libbb: make bb_common_bufsiz1 1 kbyte, add capability to use bss tail for it
...
The config item is FEATURE_USE_BSS_TAIL. When it is off (default):
function old new delta
read_config 210 228 +18
doCommands 2279 2294 +15
ipneigh_list_or_flush 763 772 +9
ipaddr_list_or_flush 1256 1261 +5
display_process_list 1301 1306 +5
conspy_main 1378 1383 +5
do_lzo_compress 352 355 +3
do_lzo_decompress 565 567 +2
push 46 44 -2
inetd_main 2136 2134 -2
uevent_main 421 418 -3
addLines 97 92 -5
bb_common_bufsiz1 8193 1024 -7169
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 8/5 up/down: 62/-7181) Total: -7119 bytes
text data bss dec hex filename
829850 4086 9080 843016 cdd08 busybox_old
829901 4086 1904 835891 cc133 busybox_unstripped
FEATURE_USE_BSS_TAIL=y:
read_config 210 228 +18
doCommands 2279 2294 +15
ipneigh_list_or_flush 763 772 +9
ipaddr_list_or_flush 1256 1261 +5
display_process_list 1301 1306 +5
conspy_main 1378 1383 +5
do_lzo_compress 352 355 +3
do_lzo_decompress 565 567 +2
inetd_main 2136 2134 -2
bb_common_bufsiz1 8193 - -8193
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 8/1 up/down: 62/-8195) Total: -8133 bytes
text data bss dec hex filename
829850 4086 9080 843016 cdd08 busybox_old
829911 4086 880 834877 cbd3d busybox_unstripped
FIXME: setup_common_bufsiz() calls are missing.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-04-21 17:39:11 +02:00
Denys Vlasenko
4ad702c0a7
top: make sort field for 's' mode less confusing
...
function old new delta
display_topmem_process_list 542 565 +23
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-14 22:30:47 +02:00
Denys Vlasenko
7b85ec30b5
*: more BUILD_BUG_ON conversions
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-13 17:17:34 +02:00
Denys Vlasenko
6c6d37ee45
top: fix memset length (sizeof(ptr) vs sizeof(array) problem)
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-07-29 17:00:30 +02:00
Timo Teräs
7df1f1dda1
top: fix and merge code to parse /proc/meminfo
...
display_header() code to parse meminfo as is was buggy:
- uninitialized variables were used if meminfo was not as expected
- meminfo parsing failed on new kernels (3.14+) as new field 'MemAvailable'
was introduced between MemFree and Buffers
- shared memory was handled only for ancient kernels (2.4.x and earlier)
as result Buffers and shared memory fields were shown with bogus values
on current kernels.
The new code does not try to parse the old style summary header, as the
separated fields are always present (it saves code size). Additionally,
both Shmem (2.6+) and MemShared (2.4 and earlier) fields are now parsed
and summed for shared memory usage; as only one of them exists depending
on kernel version.
display_topmem_header() parses also meminfo so this makes it use the
same code for code shrink.
function old new delta
display_header - 681 +681
display_topmem_process_list 465 684 +219
parse_meminfo - 189 +189
static.fields - 106 +106
static.match 132 - -132
.rodata 120254 120117 -137
display_topmem_header 513 - -513
display_process_list 1705 667 -1038
------------------------------------------------------------------------------
(add/remove: 3/2 grow/shrink: 1/2 up/down: 1195/-1820) Total: -625 bytes
Signed-off-by: Timo Teräs <timo.teras@iki.fi>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-07-27 21:49:27 +02:00
Bartosz Golaszewski
2de232da53
top.c: fix compilation warnings
...
pfd[1] is unused
Signed-off-by: Bartosz Golaszewski <bartekgola@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-01-20 03:26:34 +01:00
Denys Vlasenko
327f550669
Use unsigned printf/scanf conversion where more appropriate
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-11-29 16:45:45 +01:00
Denys Vlasenko
dc57294485
top: fix breakage introduced by previous commit
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-09-06 12:59:48 +02:00
Denys Vlasenko
a407cf74cc
Make smart_ulltoa return pointer to end (allows for code shink in callers)
...
function old new delta
smart_ulltoa5 405 408 +3
smart_ulltoa4 273 276 +3
list_table 1113 1114 +1
scale 36 34 -2
put_lu 55 53 -2
ulltoa6_and_space 19 14 -5
powertop_main 1470 1461 -9
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-09-06 12:53:14 +02:00
Denys Vlasenko
778794d1dd
*: reuse more strings
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-01-22 10:13:52 +01:00
Denys Vlasenko
60cb48ca50
whitespace cleanup. no code changes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-01-14 15:57:44 +01:00
Denys Vlasenko
c4f2d997a4
libbb: correctness/size tweaks in signal-related helpers
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-09-27 13:20:34 +02:00
Denys Vlasenko
73a1990897
top: do not touch stdin if -b
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-09-26 16:58:25 +02:00
Denys Vlasenko
ffe03f04cb
top: fix build failure in !USE_TERMIOS case
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-09-25 12:48:46 +02:00
Denys Vlasenko
2fb8d0dee9
top: implement scrolling up/down (_very_ useful)
...
function old new delta
handle_input 494 564 +70
top_main 928 947 +19
display_topmem_process_list 363 381 +18
display_process_list 1442 1453 +11
clearmems 38 28 -10
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 4/1 up/down: 118/-10) Total: 108 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-09-21 13:04:37 +02:00
Denys Vlasenko
16714245f9
add INIT_G()'s. No code changes.
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-09-21 01:59:15 +02:00
Denys Vlasenko
24b71fd894
top: display sort indicator in memory display
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-05-18 12:11:19 +02:00
Denys Vlasenko
eafc558f94
top: better indicator of selected field in mem view
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-05-14 01:32:09 +02:00
Denys Vlasenko
4d6059eedc
top: another scripting improvement
...
function old new delta
handle_input 492 493 +1
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-05-06 20:47:54 +02:00
Denys Vlasenko
7d9a1d25e5
top: make it possible to feed commands via pipe
...
function old new delta
handle_input - 492 +492
mult_lvl_cmp 38 49 +11
packed_usage 28247 28257 +10
top_main 1345 928 -417
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 2/1 up/down: 513/-417) Total: 96 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-05-06 20:34:04 +02:00
Denys Vlasenko
9aa599dc9d
top: replace %MEM with %VSZ in header text
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-01-25 12:48:47 +01:00
Denys Vlasenko
444ff284c4
top: document a debugging script
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-01-25 01:57:31 +01:00
Denys Vlasenko
068444629f
top: add keyboard commands to --help
...
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2011-01-13 16:07:51 +01:00
Marek Polacek
3c99d59b5d
top: Use _exit() instead of exit() in sighandler
...
Signed-off-by: Marek Polacek <mmpolacek@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-10-27 02:25:16 +02:00
Alexander Shishkin
0834a6d3b9
pmap: new applet. +1k.
...
pmap is a tool used to look at processes' memory maps, normally found
in procps package. It provides more readable and easily sortable output
(one line per mapping) from maps/smaps files in /proc/PID/. This would
help in debugging memory usage issues, especially on devices where lots
of typing is not a viable option.
This patch does'n implement -d and -A command line options of GNU pmap,
since those are not that must have features and I was afraid of going
blind from looking at its code.
The implementation takes smaps scanning part out of procps_scan() function
and moves it into procps_read_smaps(), which does more detailed processing
of a single PID's smaps data.
Signed-off-by: Alexander Shishkin <virtuoso@slind.org>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-08-28 23:20:34 +02:00
Denys Vlasenko
0ef64bdb40
*: make GNU licensing statement forms more regular
...
This change retains "or later" state! No licensing _changes_ here,
only form is adjusted (article, space between "GPL" and "v2" and so on).
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-08-16 20:14:46 +02:00
Denys Vlasenko
a95ce93e57
top: add tie breaking for topmem mode
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-07-13 12:13:04 +02:00
Denys Vlasenko
d94332f2b6
top: code shrink, -26 bytes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-06-06 17:40:54 +02:00
Maksym Kryzhanovskyy
87496aa081
top: code shrink
...
text data bss dec hex filename
853034 453 6820 860307 d2093 busybox_old
852726 453 6820 859999 d1f5f busybox_unstripped
Signed-off-by: Maksym Kryzhanovskyy <xmaks@email.cz>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-06-06 08:24:39 +02:00
Denys Vlasenko
d9a3e89f50
consolidate ESC sequences
...
function old new delta
bell 2 - -2
CMdown 2 - -2
Ceos 4 - -4
Ceol 4 - -4
CMup 4 - -4
SOs 5 - -5
SOn 5 - -5
CMrc 9 - -9
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-05-16 23:42:13 +02:00
Denys Vlasenko
917693b5b3
top: make 's' display easier to understand
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-03-04 12:50:59 +01:00