diff options
Diffstat (limited to 'tools/perf/util/util.h')
-rw-r--r-- | tools/perf/util/util.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/tools/perf/util/util.h b/tools/perf/util/util.h index adb39f251f90..659abf30e01b 100644 --- a/tools/perf/util/util.h +++ b/tools/perf/util/util.h @@ -73,6 +73,7 @@ #include <sys/ttydefaults.h> #include <lk/debugfs.h> #include <termios.h> +#include <linux/bitops.h> extern const char *graph_line; extern const char *graph_dotted_line; @@ -281,6 +282,17 @@ static inline unsigned next_pow2(unsigned x) return 1ULL << (32 - __builtin_clz(x - 1)); } +static inline unsigned long next_pow2_l(unsigned long x) +{ +#if BITS_PER_LONG == 64 + if (x <= (1UL << 31)) + return next_pow2(x); + return (unsigned long)next_pow2(x >> 32) << 32; +#else + return next_pow2(x); +#endif +} + size_t hex_width(u64 v); int hex2u64(const char *ptr, u64 *val); |