forked from luck/tmp_suning_uos_patched
perf trace: Move socket_type 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-ao91htwxdqwlwxr47gbluou1@git.kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
0b22cd276c
commit
bbf86c43ea
|
@ -51,18 +51,6 @@
|
|||
# define O_CLOEXEC 02000000
|
||||
#endif
|
||||
|
||||
#ifndef SOCK_DCCP
|
||||
# define SOCK_DCCP 6
|
||||
#endif
|
||||
|
||||
#ifndef SOCK_CLOEXEC
|
||||
# define SOCK_CLOEXEC 02000000
|
||||
#endif
|
||||
|
||||
#ifndef SOCK_NONBLOCK
|
||||
# define SOCK_NONBLOCK 00004000
|
||||
#endif
|
||||
|
||||
#ifndef MSG_CMSG_CLOEXEC
|
||||
# define MSG_CMSG_CLOEXEC 0x40000000
|
||||
#endif
|
||||
|
@ -538,53 +526,6 @@ static const char *socket_families[] = {
|
|||
};
|
||||
static DEFINE_STRARRAY(socket_families);
|
||||
|
||||
#ifndef SOCK_TYPE_MASK
|
||||
#define SOCK_TYPE_MASK 0xf
|
||||
#endif
|
||||
|
||||
static size_t syscall_arg__scnprintf_socket_type(char *bf, size_t size,
|
||||
struct syscall_arg *arg)
|
||||
{
|
||||
size_t printed;
|
||||
int type = arg->val,
|
||||
flags = type & ~SOCK_TYPE_MASK;
|
||||
|
||||
type &= SOCK_TYPE_MASK;
|
||||
/*
|
||||
* Can't use a strarray, MIPS may override for ABI reasons.
|
||||
*/
|
||||
switch (type) {
|
||||
#define P_SK_TYPE(n) case SOCK_##n: printed = scnprintf(bf, size, #n); break;
|
||||
P_SK_TYPE(STREAM);
|
||||
P_SK_TYPE(DGRAM);
|
||||
P_SK_TYPE(RAW);
|
||||
P_SK_TYPE(RDM);
|
||||
P_SK_TYPE(SEQPACKET);
|
||||
P_SK_TYPE(DCCP);
|
||||
P_SK_TYPE(PACKET);
|
||||
#undef P_SK_TYPE
|
||||
default:
|
||||
printed = scnprintf(bf, size, "%#x", type);
|
||||
}
|
||||
|
||||
#define P_SK_FLAG(n) \
|
||||
if (flags & SOCK_##n) { \
|
||||
printed += scnprintf(bf + printed, size - printed, "|%s", #n); \
|
||||
flags &= ~SOCK_##n; \
|
||||
}
|
||||
|
||||
P_SK_FLAG(CLOEXEC);
|
||||
P_SK_FLAG(NONBLOCK);
|
||||
#undef P_SK_FLAG
|
||||
|
||||
if (flags)
|
||||
printed += scnprintf(bf + printed, size - printed, "|%#x", flags);
|
||||
|
||||
return printed;
|
||||
}
|
||||
|
||||
#define SCA_SK_TYPE syscall_arg__scnprintf_socket_type
|
||||
|
||||
#ifndef MSG_PROBE
|
||||
#define MSG_PROBE 0x10
|
||||
#endif
|
||||
|
@ -951,6 +892,7 @@ static size_t syscall_arg__scnprintf_getrandom_flags(char *bf, size_t size,
|
|||
#include "trace/beauty/mmap.c"
|
||||
#include "trace/beauty/mode_t.c"
|
||||
#include "trace/beauty/sched_policy.c"
|
||||
#include "trace/beauty/socket_type.c"
|
||||
#include "trace/beauty/waitid_options.c"
|
||||
|
||||
static struct syscall_fmt {
|
||||
|
|
60
tools/perf/trace/beauty/socket_type.c
Normal file
60
tools/perf/trace/beauty/socket_type.c
Normal file
|
@ -0,0 +1,60 @@
|
|||
#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
|
||||
#ifndef SOCK_DCCP
|
||||
# define SOCK_DCCP 6
|
||||
#endif
|
||||
|
||||
#ifndef SOCK_CLOEXEC
|
||||
# define SOCK_CLOEXEC 02000000
|
||||
#endif
|
||||
|
||||
#ifndef SOCK_NONBLOCK
|
||||
# define SOCK_NONBLOCK 00004000
|
||||
#endif
|
||||
|
||||
#ifndef SOCK_TYPE_MASK
|
||||
#define SOCK_TYPE_MASK 0xf
|
||||
#endif
|
||||
|
||||
static size_t syscall_arg__scnprintf_socket_type(char *bf, size_t size, struct syscall_arg *arg)
|
||||
{
|
||||
size_t printed;
|
||||
int type = arg->val,
|
||||
flags = type & ~SOCK_TYPE_MASK;
|
||||
|
||||
type &= SOCK_TYPE_MASK;
|
||||
/*
|
||||
* Can't use a strarray, MIPS may override for ABI reasons.
|
||||
*/
|
||||
switch (type) {
|
||||
#define P_SK_TYPE(n) case SOCK_##n: printed = scnprintf(bf, size, #n); break;
|
||||
P_SK_TYPE(STREAM);
|
||||
P_SK_TYPE(DGRAM);
|
||||
P_SK_TYPE(RAW);
|
||||
P_SK_TYPE(RDM);
|
||||
P_SK_TYPE(SEQPACKET);
|
||||
P_SK_TYPE(DCCP);
|
||||
P_SK_TYPE(PACKET);
|
||||
#undef P_SK_TYPE
|
||||
default:
|
||||
printed = scnprintf(bf, size, "%#x", type);
|
||||
}
|
||||
|
||||
#define P_SK_FLAG(n) \
|
||||
if (flags & SOCK_##n) { \
|
||||
printed += scnprintf(bf + printed, size - printed, "|%s", #n); \
|
||||
flags &= ~SOCK_##n; \
|
||||
}
|
||||
|
||||
P_SK_FLAG(CLOEXEC);
|
||||
P_SK_FLAG(NONBLOCK);
|
||||
#undef P_SK_FLAG
|
||||
|
||||
if (flags)
|
||||
printed += scnprintf(bf + printed, size - printed, "|%#x", flags);
|
||||
|
||||
return printed;
|
||||
}
|
||||
|
||||
#define SCA_SK_TYPE syscall_arg__scnprintf_socket_type
|
Loading…
Reference in New Issue
Block a user