diff options
author | Arnaldo Carvalho de Melo | 2016-04-13 17:10:19 +0200 |
---|---|---|
committer | Arnaldo Carvalho de Melo | 2016-04-14 13:57:53 +0200 |
commit | ea8dc3cefba0a0decaedc710b218a6ceffe0194a (patch) | |
tree | 7476d9832a5e2218fbb7c1d31585fd12ed07c578 /tools/perf/trace | |
parent | perf trace: Move mmap beautifiers to trace/beauty/ directory (diff) | |
download | kernel-qcow2-linux-ea8dc3cefba0a0decaedc710b218a6ceffe0194a.tar.gz kernel-qcow2-linux-ea8dc3cefba0a0decaedc710b218a6ceffe0194a.tar.xz kernel-qcow2-linux-ea8dc3cefba0a0decaedc710b218a6ceffe0194a.zip |
perf trace: Move eventfd beautifiers to trace/beauty/ directory
To better organize all these beautifiers.
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Milian Wolff <milian.wolff@kdab.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/n/tip-zrw5zz7cnrs44o5osouyutvt@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/trace')
-rw-r--r-- | tools/perf/trace/beauty/eventfd.c | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/tools/perf/trace/beauty/eventfd.c b/tools/perf/trace/beauty/eventfd.c new file mode 100644 index 000000000000..d64f4a9128a1 --- /dev/null +++ b/tools/perf/trace/beauty/eventfd.c @@ -0,0 +1,38 @@ +#include <sys/eventfd.h> + +#ifndef EFD_SEMAPHORE +#define EFD_SEMAPHORE 1 +#endif + +#ifndef EFD_NONBLOCK +#define EFD_NONBLOCK 00004000 +#endif + +#ifndef EFD_CLOEXEC +#define EFD_CLOEXEC 02000000 +#endif + +static size_t syscall_arg__scnprintf_eventfd_flags(char *bf, size_t size, struct syscall_arg *arg) +{ + int printed = 0, flags = arg->val; + + if (flags == 0) + return scnprintf(bf, size, "NONE"); +#define P_FLAG(n) \ + if (flags & EFD_##n) { \ + printed += scnprintf(bf + printed, size - printed, "%s%s", printed ? "|" : "", #n); \ + flags &= ~EFD_##n; \ + } + + P_FLAG(SEMAPHORE); + P_FLAG(CLOEXEC); + P_FLAG(NONBLOCK); +#undef P_FLAG + + if (flags) + printed += scnprintf(bf + printed, size - printed, "%s%#x", printed ? "|" : "", flags); + + return printed; +} + +#define SCA_EFD_FLAGS syscall_arg__scnprintf_eventfd_flags |