Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

perf tools: Move print_binary definitions to separate files

Continuing the split of util.[ch] into more manageable bits.

Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/n/tip-5eu367rwcwnvvn7fz09l7xpb@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

+91 -78
+1
tools/perf/builtin-script.c
··· 23 23 #include "util/stat.h" 24 24 #include "util/thread-stack.h" 25 25 #include "util/time-utils.h" 26 + #include "print_binary.h" 26 27 #include <linux/bitmap.h> 27 28 #include <linux/kernel.h> 28 29 #include <linux/stringify.h>
+1
tools/perf/builtin-trace.c
··· 36 36 #include "util/parse-events.h" 37 37 #include "util/bpf-loader.h" 38 38 #include "callchain.h" 39 + #include "print_binary.h" 39 40 #include "syscalltbl.h" 40 41 #include "rb_resort.h" 41 42
+1 -1
tools/perf/tests/is_printable_array.c
··· 2 2 #include <linux/kernel.h> 3 3 #include "tests.h" 4 4 #include "debug.h" 5 - #include "util.h" 5 + #include "print_binary.h" 6 6 7 7 int test__is_printable_array(int subtest __maybe_unused) 8 8 {
+1
tools/perf/util/Build
··· 16 16 libperf-y += parse-events.o 17 17 libperf-y += perf_regs.o 18 18 libperf-y += path.o 19 + libperf-y += print_binary.o 19 20 libperf-y += rbtree.o 20 21 libperf-y += libstring.o 21 22 libperf-y += bitmap.o
+1
tools/perf/util/debug.c
··· 13 13 #include "color.h" 14 14 #include "event.h" 15 15 #include "debug.h" 16 + #include "print_binary.h" 16 17 #include "util.h" 17 18 #include "target.h" 18 19
+55
tools/perf/util/print_binary.c
··· 1 + #include "print_binary.h" 2 + #include <linux/log2.h> 3 + #include "sane_ctype.h" 4 + 5 + void print_binary(unsigned char *data, size_t len, 6 + size_t bytes_per_line, print_binary_t printer, 7 + void *extra) 8 + { 9 + size_t i, j, mask; 10 + 11 + if (!printer) 12 + return; 13 + 14 + bytes_per_line = roundup_pow_of_two(bytes_per_line); 15 + mask = bytes_per_line - 1; 16 + 17 + printer(BINARY_PRINT_DATA_BEGIN, 0, extra); 18 + for (i = 0; i < len; i++) { 19 + if ((i & mask) == 0) { 20 + printer(BINARY_PRINT_LINE_BEGIN, -1, extra); 21 + printer(BINARY_PRINT_ADDR, i, extra); 22 + } 23 + 24 + printer(BINARY_PRINT_NUM_DATA, data[i], extra); 25 + 26 + if (((i & mask) == mask) || i == len - 1) { 27 + for (j = 0; j < mask-(i & mask); j++) 28 + printer(BINARY_PRINT_NUM_PAD, -1, extra); 29 + 30 + printer(BINARY_PRINT_SEP, i, extra); 31 + for (j = i & ~mask; j <= i; j++) 32 + printer(BINARY_PRINT_CHAR_DATA, data[j], extra); 33 + for (j = 0; j < mask-(i & mask); j++) 34 + printer(BINARY_PRINT_CHAR_PAD, i, extra); 35 + printer(BINARY_PRINT_LINE_END, -1, extra); 36 + } 37 + } 38 + printer(BINARY_PRINT_DATA_END, -1, extra); 39 + } 40 + 41 + int is_printable_array(char *p, unsigned int len) 42 + { 43 + unsigned int i; 44 + 45 + if (!p || !len || p[len - 1] != 0) 46 + return 0; 47 + 48 + len--; 49 + 50 + for (i = 0; i < len; i++) { 51 + if (!isprint(p[i]) && !isspace(p[i])) 52 + return 0; 53 + } 54 + return 1; 55 + }
+28
tools/perf/util/print_binary.h
··· 1 + #ifndef PERF_PRINT_BINARY_H 2 + #define PERF_PRINT_BINARY_H 3 + 4 + #include <stddef.h> 5 + 6 + enum binary_printer_ops { 7 + BINARY_PRINT_DATA_BEGIN, 8 + BINARY_PRINT_LINE_BEGIN, 9 + BINARY_PRINT_ADDR, 10 + BINARY_PRINT_NUM_DATA, 11 + BINARY_PRINT_NUM_PAD, 12 + BINARY_PRINT_SEP, 13 + BINARY_PRINT_CHAR_DATA, 14 + BINARY_PRINT_CHAR_PAD, 15 + BINARY_PRINT_LINE_END, 16 + BINARY_PRINT_DATA_END, 17 + }; 18 + 19 + typedef void (*print_binary_t)(enum binary_printer_ops op, 20 + unsigned int val, void *extra); 21 + 22 + void print_binary(unsigned char *data, size_t len, 23 + size_t bytes_per_line, print_binary_t printer, 24 + void *extra); 25 + 26 + int is_printable_array(char *p, unsigned int len); 27 + 28 + #endif /* PERF_PRINT_BINARY_H */
+1
tools/perf/util/python-ext-sources
··· 21 21 util/parse-branch-options.c 22 22 util/rblist.c 23 23 util/counts.c 24 + util/print_binary.c 24 25 util/strlist.c 25 26 util/trace-event.c 26 27 ../lib/rbtree.c
+1
tools/perf/util/python.c
··· 7 7 #include "evsel.h" 8 8 #include "event.h" 9 9 #include "cpumap.h" 10 + #include "print_binary.h" 10 11 #include "thread_map.h" 11 12 12 13 /*
+1
tools/perf/util/scripting-engines/trace-event-python.c
··· 46 46 #include "../call-path.h" 47 47 #include "thread_map.h" 48 48 #include "cpumap.h" 49 + #include "print_binary.h" 49 50 #include "stat.h" 50 51 51 52 PyMODINIT_FUNC initperf_trace_context(void);
-54
tools/perf/util/util.c
··· 21 21 #include "callchain.h" 22 22 #include "strlist.h" 23 23 24 - #include "sane_ctype.h" 25 - 26 24 #define CALLCHAIN_PARAM_DEFAULT \ 27 25 .mode = CHAIN_GRAPH_ABS, \ 28 26 .min_percent = 0.5, \ ··· 738 740 scnprintf(buf, sz, "%s%02u", dt, (unsigned)tv.tv_usec / 10000); 739 741 740 742 return 0; 741 - } 742 - 743 - void print_binary(unsigned char *data, size_t len, 744 - size_t bytes_per_line, print_binary_t printer, 745 - void *extra) 746 - { 747 - size_t i, j, mask; 748 - 749 - if (!printer) 750 - return; 751 - 752 - bytes_per_line = roundup_pow_of_two(bytes_per_line); 753 - mask = bytes_per_line - 1; 754 - 755 - printer(BINARY_PRINT_DATA_BEGIN, 0, extra); 756 - for (i = 0; i < len; i++) { 757 - if ((i & mask) == 0) { 758 - printer(BINARY_PRINT_LINE_BEGIN, -1, extra); 759 - printer(BINARY_PRINT_ADDR, i, extra); 760 - } 761 - 762 - printer(BINARY_PRINT_NUM_DATA, data[i], extra); 763 - 764 - if (((i & mask) == mask) || i == len - 1) { 765 - for (j = 0; j < mask-(i & mask); j++) 766 - printer(BINARY_PRINT_NUM_PAD, -1, extra); 767 - 768 - printer(BINARY_PRINT_SEP, i, extra); 769 - for (j = i & ~mask; j <= i; j++) 770 - printer(BINARY_PRINT_CHAR_DATA, data[j], extra); 771 - for (j = 0; j < mask-(i & mask); j++) 772 - printer(BINARY_PRINT_CHAR_PAD, i, extra); 773 - printer(BINARY_PRINT_LINE_END, -1, extra); 774 - } 775 - } 776 - printer(BINARY_PRINT_DATA_END, -1, extra); 777 - } 778 - 779 - int is_printable_array(char *p, unsigned int len) 780 - { 781 - unsigned int i; 782 - 783 - if (!p || !len || p[len - 1] != 0) 784 - return 0; 785 - 786 - len--; 787 - 788 - for (i = 0; i < len; i++) { 789 - if (!isprint(p[i]) && !isspace(p[i])) 790 - return 0; 791 - } 792 - return 1; 793 743 } 794 744 795 745 int unit_number__scnprintf(char *buf, size_t size, u64 n)
-23
tools/perf/util/util.h
··· 213 213 bool is_regular_file(const char *file); 214 214 int fetch_current_timestamp(char *buf, size_t sz); 215 215 216 - enum binary_printer_ops { 217 - BINARY_PRINT_DATA_BEGIN, 218 - BINARY_PRINT_LINE_BEGIN, 219 - BINARY_PRINT_ADDR, 220 - BINARY_PRINT_NUM_DATA, 221 - BINARY_PRINT_NUM_PAD, 222 - BINARY_PRINT_SEP, 223 - BINARY_PRINT_CHAR_DATA, 224 - BINARY_PRINT_CHAR_PAD, 225 - BINARY_PRINT_LINE_END, 226 - BINARY_PRINT_DATA_END, 227 - }; 228 - 229 - typedef void (*print_binary_t)(enum binary_printer_ops, 230 - unsigned int val, 231 - void *extra); 232 - 233 - void print_binary(unsigned char *data, size_t len, 234 - size_t bytes_per_line, print_binary_t printer, 235 - void *extra); 236 - 237 216 #ifndef HAVE_SCHED_GETCPU_SUPPORT 238 217 int sched_getcpu(void); 239 218 #endif 240 - 241 - int is_printable_array(char *p, unsigned int len); 242 219 243 220 int timestamp__scnprintf_usec(u64 timestamp, char *buf, size_t sz); 244 221