From 5d2e409ef8224dc32fde59702e8ec90b231441ed Mon Sep 17 00:00:00 2001 From: Bartosz Golaszewski Date: Sun, 22 Jun 2014 14:01:13 +0200 Subject: libbb: use a wrapper around sysconf(_SC_CLK_TCK) to save a few bytes function old new delta bb_sc_clk_tck - 10 +10 timescmd 118 113 -5 print_route 1763 1758 -5 mpstat_main 1288 1283 -5 iostat_main 1947 1942 -5 INET_setroute 879 871 -8 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 0/5 up/down: 10/-28) Total: -18 bytes Signed-off-by: Bartosz Golaszewski Signed-off-by: Denys Vlasenko --- include/libbb.h | 1 + libbb/sysconf.c | 6 ++++++ networking/libiproute/iproute.c | 2 +- networking/route.c | 2 +- procps/iostat.c | 7 +------ procps/mpstat.c | 8 +------- shell/ash.c | 2 +- 7 files changed, 12 insertions(+), 16 deletions(-) diff --git a/include/libbb.h b/include/libbb.h index fa69a7f..7a3610b 100644 --- a/include/libbb.h +++ b/include/libbb.h @@ -738,6 +738,7 @@ unsigned bb_arg_max(void) FAST_FUNC; #else # define bb_arg_max() ((unsigned)(32 * 1024)) #endif +unsigned bb_clk_tck(void) FAST_FUNC; #define SEAMLESS_COMPRESSION (0 \ || ENABLE_FEATURE_SEAMLESS_XZ \ diff --git a/libbb/sysconf.c b/libbb/sysconf.c index c5fa5e0..4dbffbe 100644 --- a/libbb/sysconf.c +++ b/libbb/sysconf.c @@ -14,3 +14,9 @@ unsigned FAST_FUNC bb_arg_max(void) return sysconf(_SC_ARG_MAX); } #endif + +/* Return the number of clock ticks per second. */ +unsigned FAST_FUNC bb_clk_tck(void) +{ + return sysconf(_SC_CLK_TCK); +} diff --git a/networking/libiproute/iproute.c b/networking/libiproute/iproute.c index f8a67d9..ec4d8ba 100644 --- a/networking/libiproute/iproute.c +++ b/networking/libiproute/iproute.c @@ -73,7 +73,7 @@ static unsigned get_hz(void) fclose(fp); } if (!hz_internal) - hz_internal = sysconf(_SC_CLK_TCK); + hz_internal = bb_clk_tck(); return hz_internal; } diff --git a/networking/route.c b/networking/route.c index 4235ea7..24cc2eb 100644 --- a/networking/route.c +++ b/networking/route.c @@ -283,7 +283,7 @@ static NOINLINE void INET_setroute(int action, char **args) if (k == KW_IPVx_IRTT) { rt->rt_flags |= RTF_IRTT; rt->rt_irtt = xatoul(args_m1); - rt->rt_irtt *= (sysconf(_SC_CLK_TCK) / 100); /* FIXME */ + rt->rt_irtt *= (bb_clk_tck() / 100); /* FIXME */ #if 0 /* FIXME: do we need to check anything of this? */ if (rt->rt_irtt < 1 || rt->rt_irtt > (120 * HZ)) { bb_error_msg_and_die("bad irtt"); diff --git a/procps/iostat.c b/procps/iostat.c index 978d234..8d272c8 100644 --- a/procps/iostat.c +++ b/procps/iostat.c @@ -109,11 +109,6 @@ enum { OPT_m = 1 << 5, }; -static ALWAYS_INLINE unsigned get_user_hz(void) -{ - return sysconf(_SC_CLK_TCK); -} - static ALWAYS_INLINE int this_is_smp(void) { return (G.total_cpus > 1); @@ -414,7 +409,7 @@ int iostat_main(int argc UNUSED_PARAM, char **argv) memset(&stats_data, 0, sizeof(stats_data)); /* Get number of clock ticks per sec */ - G.clk_tck = get_user_hz(); + G.clk_tck = bb_clk_tck(); /* Determine number of CPUs */ G.total_cpus = get_cpu_count(); diff --git a/procps/mpstat.c b/procps/mpstat.c index aa5a5c7..c628d62 100644 --- a/procps/mpstat.c +++ b/procps/mpstat.c @@ -775,12 +775,6 @@ static void main_loop(void) /* Initialization */ -/* Get number of clock ticks per sec */ -static ALWAYS_INLINE unsigned get_hz(void) -{ - return sysconf(_SC_CLK_TCK); -} - static void alloc_struct(int cpus) { int i; @@ -873,7 +867,7 @@ int mpstat_main(int UNUSED_PARAM argc, char **argv) G.cpu_nr = get_cpu_count(); /* Get number of clock ticks per sec */ - G.hz = get_hz(); + G.hz = bb_clk_tck(); /* Calculate number of interrupts per processor */ G.irqcpu_nr = get_irqcpu_nr(PROCFS_INTERRUPTS, NR_IRQS) + NR_IRQCPU_PREALLOC; diff --git a/shell/ash.c b/shell/ash.c index cabeb40..dc7a9bf 100644 --- a/shell/ash.c +++ b/shell/ash.c @@ -12759,7 +12759,7 @@ timescmd(int argc UNUSED_PARAM, char **argv UNUSED_PARAM) const unsigned char *p; struct tms buf; - clk_tck = sysconf(_SC_CLK_TCK); + clk_tck = bb_clk_tck(); times(&buf); p = timescmd_str; -- cgit v1.1