top: stop using div() from libc, compilers now do it better
function old new delta div 23 - -23 display_process_list 1237 1178 -59 ------------------------------------------------------------------------------ (add/remove: 0/2 grow/shrink: 0/1 up/down: 0/-82) Total: -82 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
93ae7464e6
commit
669c40ed8e
1 changed files with 16 additions and 9 deletions
25
procps/top.c
25
procps/top.c
|
@ -619,17 +619,15 @@ static NOINLINE void display_process_list(int lines_rem, int scr_width)
|
||||||
unsigned busy_jifs;
|
unsigned busy_jifs;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* what info of the processes is shown */
|
|
||||||
printf(OPT_BATCH_MODE ? "%.*s" : ESC"[7m" "%.*s" ESC"[m", scr_width,
|
|
||||||
" PID PPID USER STAT VSZ %VSZ"
|
|
||||||
IF_FEATURE_TOP_SMP_PROCESS(" CPU")
|
|
||||||
IF_FEATURE_TOP_CPU_USAGE_PERCENTAGE(" %CPU")
|
|
||||||
" COMMAND");
|
|
||||||
lines_rem--;
|
|
||||||
|
|
||||||
#if ENABLE_FEATURE_TOP_DECIMALS
|
#if ENABLE_FEATURE_TOP_DECIMALS
|
||||||
# define UPSCALE 1000
|
# define UPSCALE 1000
|
||||||
# define CALC_STAT(name, val) div_t name = div((val), 10)
|
typedef struct { unsigned quot, rem; } bb_div_t;
|
||||||
|
/* Used to have "div_t name = div((val), 10)" here
|
||||||
|
* (IOW: intended to use libc-compatible way to divide and use
|
||||||
|
* both result and remainder, but musl does not inline div()...)
|
||||||
|
* Oh well. Modern compilers detect "N/d, N%d" idiom by themselves:
|
||||||
|
*/
|
||||||
|
# define CALC_STAT(name, val) bb_div_t name = { (val) / 10, (val) % 10 }
|
||||||
# define SHOW_STAT(name) name.quot, '0'+name.rem
|
# define SHOW_STAT(name) name.quot, '0'+name.rem
|
||||||
# define FMT "%3u.%c"
|
# define FMT "%3u.%c"
|
||||||
#else
|
#else
|
||||||
|
@ -638,6 +636,15 @@ static NOINLINE void display_process_list(int lines_rem, int scr_width)
|
||||||
# define SHOW_STAT(name) name
|
# define SHOW_STAT(name) name
|
||||||
# define FMT "%4u%%"
|
# define FMT "%4u%%"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* what info of the processes is shown */
|
||||||
|
printf(OPT_BATCH_MODE ? "%.*s" : ESC"[7m" "%.*s" ESC"[m", scr_width,
|
||||||
|
" PID PPID USER STAT VSZ %VSZ"
|
||||||
|
IF_FEATURE_TOP_SMP_PROCESS(" CPU")
|
||||||
|
IF_FEATURE_TOP_CPU_USAGE_PERCENTAGE(" %CPU")
|
||||||
|
" COMMAND");
|
||||||
|
lines_rem--;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* %VSZ = s->vsz/MemTotal
|
* %VSZ = s->vsz/MemTotal
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue