diff options
author | Arnaldo Carvalho de Melo <acme@redhat.com> | 2016-04-26 10:03:03 -0400 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2016-04-26 12:14:59 -0400 |
commit | 62de344e4fed23a42048c02dfa841f7d7ce9e88e (patch) | |
tree | 40e8574862c7227a68ac01a7434289c16878c04a /tools | |
parent | 2a12ec13cc4ca8690ad2690c09bf8bff17c228d9 (diff) |
perf trace: Move perf_flags beautifier to tools/perf/trace/beauty/
To reduce the size of builtin-trace.c.
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-8r3gmymyn3r0ynt4yuzspp9g@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/perf/builtin-trace.c | 45 | ||||
-rw-r--r-- | tools/perf/trace/beauty/perf_event_open.c | 43 |
2 files changed, 44 insertions, 44 deletions
diff --git a/tools/perf/builtin-trace.c b/tools/perf/builtin-trace.c index a4b133fac82b..903deda92d9e 100644 --- a/tools/perf/builtin-trace.c +++ b/tools/perf/builtin-trace.c | |||
@@ -56,22 +56,6 @@ | |||
56 | # define MSG_CMSG_CLOEXEC 0x40000000 | 56 | # define MSG_CMSG_CLOEXEC 0x40000000 |
57 | #endif | 57 | #endif |
58 | 58 | ||
59 | #ifndef PERF_FLAG_FD_NO_GROUP | ||
60 | # define PERF_FLAG_FD_NO_GROUP (1UL << 0) | ||
61 | #endif | ||
62 | |||
63 | #ifndef PERF_FLAG_FD_OUTPUT | ||
64 | # define PERF_FLAG_FD_OUTPUT (1UL << 1) | ||
65 | #endif | ||
66 | |||
67 | #ifndef PERF_FLAG_PID_CGROUP | ||
68 | # define PERF_FLAG_PID_CGROUP (1UL << 2) /* pid=cgroup id, per-cpu mode only */ | ||
69 | #endif | ||
70 | |||
71 | #ifndef PERF_FLAG_FD_CLOEXEC | ||
72 | # define PERF_FLAG_FD_CLOEXEC (1UL << 3) /* O_CLOEXEC */ | ||
73 | #endif | ||
74 | |||
75 | struct trace { | 59 | struct trace { |
76 | struct perf_tool tool; | 60 | struct perf_tool tool; |
77 | struct syscalltbl *sctbl; | 61 | struct syscalltbl *sctbl; |
@@ -674,34 +658,6 @@ static size_t syscall_arg__scnprintf_open_flags(char *bf, size_t size, | |||
674 | 658 | ||
675 | #define SCA_OPEN_FLAGS syscall_arg__scnprintf_open_flags | 659 | #define SCA_OPEN_FLAGS syscall_arg__scnprintf_open_flags |
676 | 660 | ||
677 | static size_t syscall_arg__scnprintf_perf_flags(char *bf, size_t size, | ||
678 | struct syscall_arg *arg) | ||
679 | { | ||
680 | int printed = 0, flags = arg->val; | ||
681 | |||
682 | if (flags == 0) | ||
683 | return 0; | ||
684 | |||
685 | #define P_FLAG(n) \ | ||
686 | if (flags & PERF_FLAG_##n) { \ | ||
687 | printed += scnprintf(bf + printed, size - printed, "%s%s", printed ? "|" : "", #n); \ | ||
688 | flags &= ~PERF_FLAG_##n; \ | ||
689 | } | ||
690 | |||
691 | P_FLAG(FD_NO_GROUP); | ||
692 | P_FLAG(FD_OUTPUT); | ||
693 | P_FLAG(PID_CGROUP); | ||
694 | P_FLAG(FD_CLOEXEC); | ||
695 | #undef P_FLAG | ||
696 | |||
697 | if (flags) | ||
698 | printed += scnprintf(bf + printed, size - printed, "%s%#x", printed ? "|" : "", flags); | ||
699 | |||
700 | return printed; | ||
701 | } | ||
702 | |||
703 | #define SCA_PERF_FLAGS syscall_arg__scnprintf_perf_flags | ||
704 | |||
705 | static size_t syscall_arg__scnprintf_pipe_flags(char *bf, size_t size, | 661 | static size_t syscall_arg__scnprintf_pipe_flags(char *bf, size_t size, |
706 | struct syscall_arg *arg) | 662 | struct syscall_arg *arg) |
707 | { | 663 | { |
@@ -894,6 +850,7 @@ static size_t syscall_arg__scnprintf_getrandom_flags(char *bf, size_t size, | |||
894 | #include "trace/beauty/pid.c" | 850 | #include "trace/beauty/pid.c" |
895 | #include "trace/beauty/mmap.c" | 851 | #include "trace/beauty/mmap.c" |
896 | #include "trace/beauty/mode_t.c" | 852 | #include "trace/beauty/mode_t.c" |
853 | #include "trace/beauty/perf_event_open.c" | ||
897 | #include "trace/beauty/sched_policy.c" | 854 | #include "trace/beauty/sched_policy.c" |
898 | #include "trace/beauty/socket_type.c" | 855 | #include "trace/beauty/socket_type.c" |
899 | #include "trace/beauty/waitid_options.c" | 856 | #include "trace/beauty/waitid_options.c" |
diff --git a/tools/perf/trace/beauty/perf_event_open.c b/tools/perf/trace/beauty/perf_event_open.c new file mode 100644 index 000000000000..311f09dd718d --- /dev/null +++ b/tools/perf/trace/beauty/perf_event_open.c | |||
@@ -0,0 +1,43 @@ | |||
1 | #ifndef PERF_FLAG_FD_NO_GROUP | ||
2 | # define PERF_FLAG_FD_NO_GROUP (1UL << 0) | ||
3 | #endif | ||
4 | |||
5 | #ifndef PERF_FLAG_FD_OUTPUT | ||
6 | # define PERF_FLAG_FD_OUTPUT (1UL << 1) | ||
7 | #endif | ||
8 | |||
9 | #ifndef PERF_FLAG_PID_CGROUP | ||
10 | # define PERF_FLAG_PID_CGROUP (1UL << 2) /* pid=cgroup id, per-cpu mode only */ | ||
11 | #endif | ||
12 | |||
13 | #ifndef PERF_FLAG_FD_CLOEXEC | ||
14 | # define PERF_FLAG_FD_CLOEXEC (1UL << 3) /* O_CLOEXEC */ | ||
15 | #endif | ||
16 | |||
17 | static size_t syscall_arg__scnprintf_perf_flags(char *bf, size_t size, | ||
18 | struct syscall_arg *arg) | ||
19 | { | ||
20 | int printed = 0, flags = arg->val; | ||
21 | |||
22 | if (flags == 0) | ||
23 | return 0; | ||
24 | |||
25 | #define P_FLAG(n) \ | ||
26 | if (flags & PERF_FLAG_##n) { \ | ||
27 | printed += scnprintf(bf + printed, size - printed, "%s%s", printed ? "|" : "", #n); \ | ||
28 | flags &= ~PERF_FLAG_##n; \ | ||
29 | } | ||
30 | |||
31 | P_FLAG(FD_NO_GROUP); | ||
32 | P_FLAG(FD_OUTPUT); | ||
33 | P_FLAG(PID_CGROUP); | ||
34 | P_FLAG(FD_CLOEXEC); | ||
35 | #undef P_FLAG | ||
36 | |||
37 | if (flags) | ||
38 | printed += scnprintf(bf + printed, size - printed, "%s%#x", printed ? "|" : "", flags); | ||
39 | |||
40 | return printed; | ||
41 | } | ||
42 | |||
43 | #define SCA_PERF_FLAGS syscall_arg__scnprintf_perf_flags | ||