aboutsummaryrefslogtreecommitdiff
path: root/miscutils/time.c
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2020-12-14 18:49:23 +0100
committerDenys Vlasenko <vda.linux@googlemail.com>2020-12-14 18:54:30 +0100
commitc7b858ff8d2e8b2d785f74b2d319bc9c839f4faa (patch)
tree9ad109d5999444dfb3a281678b6b63d2570a76cd /miscutils/time.c
parentfd3c512f88d43e6633bd3c3110cfa0bb321adaa8 (diff)
downloadbusybox-w32-c7b858ff8d2e8b2d785f74b2d319bc9c839f4faa.tar.gz
busybox-w32-c7b858ff8d2e8b2d785f74b2d319bc9c839f4faa.tar.bz2
busybox-w32-c7b858ff8d2e8b2d785f74b2d319bc9c839f4faa.zip
libbb: add and use infrastructure for fixed page size optimization
function old new delta procps_scan 1121 1118 -3 getpagesize 6 - -6 rpm_main 1037 1027 -10 rpm2cpio_main 120 110 -10 ptok 38 21 -17 time_main 1282 1261 -21 mkswap_main 317 278 -39 ------------------------------------------------------------------------------ (add/remove: 0/2 grow/shrink: 0/6 up/down: 0/-106) Total: -106 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'miscutils/time.c')
-rw-r--r--miscutils/time.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/miscutils/time.c b/miscutils/time.c
index d15d363f3..0006c59d8 100644
--- a/miscutils/time.c
+++ b/miscutils/time.c
@@ -111,6 +111,10 @@ static void printargv(char *const *argv)
111 This is funky since the pagesize could be less than 1K. 111 This is funky since the pagesize could be less than 1K.
112 Note: Some machines express getrusage statistics in terms of K, 112 Note: Some machines express getrusage statistics in terms of K,
113 others in terms of pages. */ 113 others in terms of pages. */
114#ifdef BB_ARCH_FIXED_PAGESIZE
115# define pagesize BB_ARCH_FIXED_PAGESIZE
116# define ptok(pagesize, pages) ptok(pages)
117#endif
114static unsigned long ptok(const unsigned pagesize, const unsigned long pages) 118static unsigned long ptok(const unsigned pagesize, const unsigned long pages)
115{ 119{
116 unsigned long tmp; 120 unsigned long tmp;
@@ -124,6 +128,7 @@ static unsigned long ptok(const unsigned pagesize, const unsigned long pages)
124 tmp = pages * pagesize; /* Larger first, */ 128 tmp = pages * pagesize; /* Larger first, */
125 return tmp / 1024; /* then smaller. */ 129 return tmp / 1024; /* then smaller. */
126} 130}
131#undef pagesize
127 132
128/* summarize: Report on the system use of a command. 133/* summarize: Report on the system use of a command.
129 134
@@ -177,7 +182,7 @@ static void summarize(const char *fmt, char **command, resource_t *resp)
177{ 182{
178 unsigned vv_ms; /* Elapsed virtual (CPU) milliseconds */ 183 unsigned vv_ms; /* Elapsed virtual (CPU) milliseconds */
179 unsigned cpu_ticks; /* Same, in "CPU ticks" */ 184 unsigned cpu_ticks; /* Same, in "CPU ticks" */
180 unsigned pagesize = getpagesize(); 185 unsigned pagesize = bb_getpagesize();
181 186
182 /* Impossible: we do not use WUNTRACED flag in wait()... 187 /* Impossible: we do not use WUNTRACED flag in wait()...
183 if (WIFSTOPPED(resp->waitstatus)) 188 if (WIFSTOPPED(resp->waitstatus))