perf trace: Add a prefix member to the strarray class
authorArnaldo Carvalho de Melo <acme@redhat.com>
Fri, 14 Dec 2018 18:08:40 +0000 (15:08 -0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Tue, 18 Dec 2018 19:07:42 +0000 (16:07 -0300)
So that the user, in an upcoming patch, can select printing it to get
the full string as used in the source code, not one with a common prefix
chopped off so as to make the output more compact.

Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Luis Cláudio Gonçalves <lclaudio@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Wang Nan <wangnan0@huawei.com>
Link: https://lkml.kernel.org/n/tip-zypczc88gzbmeqx7b372s138@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
12 files changed:
tools/perf/builtin-trace.c
tools/perf/trace/beauty/beauty.h
tools/perf/trace/beauty/fcntl.c
tools/perf/trace/beauty/ioctl.c
tools/perf/trace/beauty/kcmp.c
tools/perf/trace/beauty/mmap.c
tools/perf/trace/beauty/mount_flags.c
tools/perf/trace/beauty/pkey_alloc.c
tools/perf/trace/beauty/prctl.c
tools/perf/trace/beauty/renameat.c
tools/perf/trace/beauty/sockaddr.c
tools/perf/trace/beauty/socket.c

index dc8cade..02bc5da 100644 (file)
@@ -423,6 +423,7 @@ static size_t syscall_arg__scnprintf_fd_at(char *bf, size_t size,
                                           struct syscall_arg *arg)
 {
        int fd = arg->val;
+       /* char fd_at_prefix = "AT_FD"; */
 
        if (fd == AT_FDCWD)
                return scnprintf(bf, size, "CWD");
@@ -456,13 +457,13 @@ static const char *bpf_cmd[] = {
        "MAP_CREATE", "MAP_LOOKUP_ELEM", "MAP_UPDATE_ELEM", "MAP_DELETE_ELEM",
        "MAP_GET_NEXT_KEY", "PROG_LOAD",
 };
-static DEFINE_STRARRAY(bpf_cmd);
+static DEFINE_STRARRAY(bpf_cmd, "BPF_");
 
 static const char *epoll_ctl_ops[] = { "ADD", "DEL", "MOD", };
-static DEFINE_STRARRAY_OFFSET(epoll_ctl_ops, 1);
+static DEFINE_STRARRAY_OFFSET(epoll_ctl_ops, "EPOLL_CTL_", 1);
 
 static const char *itimers[] = { "REAL", "VIRTUAL", "PROF", };
-static DEFINE_STRARRAY(itimers);
+static DEFINE_STRARRAY(itimers, "ITIMER_");
 
 static const char *keyctl_options[] = {
        "GET_KEYRING_ID", "JOIN_SESSION_KEYRING", "UPDATE", "REVOKE", "CHOWN",
@@ -471,7 +472,7 @@ static const char *keyctl_options[] = {
        "ASSUME_AUTHORITY", "GET_SECURITY", "SESSION_TO_PARENT", "REJECT",
        "INSTANTIATE_IOV", "INVALIDATE", "GET_PERSISTENT",
 };
-static DEFINE_STRARRAY(keyctl_options);
+static DEFINE_STRARRAY(keyctl_options, "KEYCTL_");
 
 static const char *whences[] = { "SET", "CUR", "END",
 #ifdef SEEK_DATA
@@ -481,7 +482,7 @@ static const char *whences[] = { "SET", "CUR", "END",
 "HOLE",
 #endif
 };
-static DEFINE_STRARRAY(whences);
+static DEFINE_STRARRAY(whences, "SEEK_");
 
 static const char *fcntl_cmds[] = {
        "DUPFD", "GETFD", "SETFD", "GETFL", "SETFL", "GETLK", "SETLK",
@@ -489,7 +490,7 @@ static const char *fcntl_cmds[] = {
        "SETLK64", "SETLKW64", "SETOWN_EX", "GETOWN_EX",
        "GETOWNER_UIDS",
 };
-static DEFINE_STRARRAY(fcntl_cmds);
+static DEFINE_STRARRAY(fcntl_cmds, "F_");
 
 static const char *fcntl_linux_specific_cmds[] = {
        "SETLEASE", "GETLEASE", "NOTIFY", [5] = "CANCELLK", "DUPFD_CLOEXEC",
@@ -497,7 +498,7 @@ static const char *fcntl_linux_specific_cmds[] = {
        "GET_RW_HINT", "SET_RW_HINT", "GET_FILE_RW_HINT", "SET_FILE_RW_HINT",
 };
 
-static DEFINE_STRARRAY_OFFSET(fcntl_linux_specific_cmds, F_LINUX_SPECIFIC_BASE);
+static DEFINE_STRARRAY_OFFSET(fcntl_linux_specific_cmds, "F_", F_LINUX_SPECIFIC_BASE);
 
 static struct strarray *fcntl_cmds_arrays[] = {
        &strarray__fcntl_cmds,
@@ -511,17 +512,17 @@ static const char *rlimit_resources[] = {
        "MEMLOCK", "AS", "LOCKS", "SIGPENDING", "MSGQUEUE", "NICE", "RTPRIO",
        "RTTIME",
 };
-static DEFINE_STRARRAY(rlimit_resources);
+static DEFINE_STRARRAY(rlimit_resources, "RLIMIT_");
 
 static const char *sighow[] = { "BLOCK", "UNBLOCK", "SETMASK", };
-static DEFINE_STRARRAY(sighow);
+static DEFINE_STRARRAY(sighow, "SIG_");
 
 static const char *clockid[] = {
        "REALTIME", "MONOTONIC", "PROCESS_CPUTIME_ID", "THREAD_CPUTIME_ID",
        "MONOTONIC_RAW", "REALTIME_COARSE", "MONOTONIC_COARSE", "BOOTTIME",
        "REALTIME_ALARM", "BOOTTIME_ALARM", "SGI_CYCLE", "TAI"
 };
-static DEFINE_STRARRAY(clockid);
+static DEFINE_STRARRAY(clockid, "CLOCK_");
 
 static size_t syscall_arg__scnprintf_access_mode(char *bf, size_t size,
                                                 struct syscall_arg *arg)
index 48ff3ce..452e9c0 100644 (file)
@@ -9,18 +9,21 @@
 struct strarray {
        int         offset;
        int         nr_entries;
+       const char *prefix;
        const char **entries;
 };
 
-#define DEFINE_STRARRAY(array) struct strarray strarray__##array = { \
+#define DEFINE_STRARRAY(array, _prefix) struct strarray strarray__##array = { \
        .nr_entries = ARRAY_SIZE(array), \
        .entries = array, \
+       .prefix = _prefix, \
 }
 
-#define DEFINE_STRARRAY_OFFSET(array, off) struct strarray strarray__##array = { \
+#define DEFINE_STRARRAY_OFFSET(array, _prefix, off) struct strarray strarray__##array = { \
        .offset     = off, \
        .nr_entries = ARRAY_SIZE(array), \
        .entries = array, \
+       .prefix = _prefix, \
 }
 
 size_t strarray__scnprintf(struct strarray *sa, char *bf, size_t size, const char *intfmt, int val);
index e6de316..15d6690 100644 (file)
@@ -22,7 +22,7 @@ static size_t syscall_arg__scnprintf_fcntl_getfd(char *bf, size_t size, struct s
 static size_t fcntl__scnprintf_getlease(unsigned long val, char *bf, size_t size)
 {
        static const char *fcntl_setlease[] = { "RDLCK", "WRLCK", "UNLCK", };
-       static DEFINE_STRARRAY(fcntl_setlease);
+       static DEFINE_STRARRAY(fcntl_setlease, "F_");
 
        return strarray__scnprintf(&strarray__fcntl_setlease, bf, size, "%x", val);
 }
index eae59ad..ea243f6 100644 (file)
@@ -36,7 +36,7 @@ static size_t ioctl__scnprintf_tty_cmd(int nr, int dir, char *bf, size_t size)
        "TIOCSERGWILD", "TIOCSERSWILD", "TIOCGLCKTRMIOS", "TIOCSLCKTRMIOS",
        "TIOCSERGSTRUCT", "TIOCSERGETLSR", "TIOCSERGETMULTI", "TIOCSERSETMULTI",
        "TIOCMIWAIT", "TIOCGICOUNT", };
-       static DEFINE_STRARRAY(ioctl_tty_cmd);
+       static DEFINE_STRARRAY(ioctl_tty_cmd, "");
 
        if (nr < strarray__ioctl_tty_cmd.nr_entries && strarray__ioctl_tty_cmd.entries[nr] != NULL)
                return scnprintf(bf, size, "%s", strarray__ioctl_tty_cmd.entries[nr]);
@@ -47,7 +47,7 @@ static size_t ioctl__scnprintf_tty_cmd(int nr, int dir, char *bf, size_t size)
 static size_t ioctl__scnprintf_drm_cmd(int nr, int dir, char *bf, size_t size)
 {
 #include "trace/beauty/generated/ioctl/drm_ioctl_array.c"
-       static DEFINE_STRARRAY(drm_ioctl_cmds);
+       static DEFINE_STRARRAY(drm_ioctl_cmds, "");
 
        if (nr < strarray__drm_ioctl_cmds.nr_entries && strarray__drm_ioctl_cmds.entries[nr] != NULL)
                return scnprintf(bf, size, "DRM_%s", strarray__drm_ioctl_cmds.entries[nr]);
@@ -58,7 +58,7 @@ static size_t ioctl__scnprintf_drm_cmd(int nr, int dir, char *bf, size_t size)
 static size_t ioctl__scnprintf_sndrv_pcm_cmd(int nr, int dir, char *bf, size_t size)
 {
 #include "trace/beauty/generated/ioctl/sndrv_pcm_ioctl_array.c"
-       static DEFINE_STRARRAY(sndrv_pcm_ioctl_cmds);
+       static DEFINE_STRARRAY(sndrv_pcm_ioctl_cmds, "");
 
        if (nr < strarray__sndrv_pcm_ioctl_cmds.nr_entries && strarray__sndrv_pcm_ioctl_cmds.entries[nr] != NULL)
                return scnprintf(bf, size, "SNDRV_PCM_%s", strarray__sndrv_pcm_ioctl_cmds.entries[nr]);
@@ -69,7 +69,7 @@ static size_t ioctl__scnprintf_sndrv_pcm_cmd(int nr, int dir, char *bf, size_t s
 static size_t ioctl__scnprintf_sndrv_ctl_cmd(int nr, int dir, char *bf, size_t size)
 {
 #include "trace/beauty/generated/ioctl/sndrv_ctl_ioctl_array.c"
-       static DEFINE_STRARRAY(sndrv_ctl_ioctl_cmds);
+       static DEFINE_STRARRAY(sndrv_ctl_ioctl_cmds, "");
 
        if (nr < strarray__sndrv_ctl_ioctl_cmds.nr_entries && strarray__sndrv_ctl_ioctl_cmds.entries[nr] != NULL)
                return scnprintf(bf, size, "SNDRV_CTL_%s", strarray__sndrv_ctl_ioctl_cmds.entries[nr]);
@@ -80,7 +80,7 @@ static size_t ioctl__scnprintf_sndrv_ctl_cmd(int nr, int dir, char *bf, size_t s
 static size_t ioctl__scnprintf_kvm_cmd(int nr, int dir, char *bf, size_t size)
 {
 #include "trace/beauty/generated/ioctl/kvm_ioctl_array.c"
-       static DEFINE_STRARRAY(kvm_ioctl_cmds);
+       static DEFINE_STRARRAY(kvm_ioctl_cmds, "");
 
        if (nr < strarray__kvm_ioctl_cmds.nr_entries && strarray__kvm_ioctl_cmds.entries[nr] != NULL)
                return scnprintf(bf, size, "KVM_%s", strarray__kvm_ioctl_cmds.entries[nr]);
@@ -91,8 +91,8 @@ static size_t ioctl__scnprintf_kvm_cmd(int nr, int dir, char *bf, size_t size)
 static size_t ioctl__scnprintf_vhost_virtio_cmd(int nr, int dir, char *bf, size_t size)
 {
 #include "trace/beauty/generated/ioctl/vhost_virtio_ioctl_array.c"
-       static DEFINE_STRARRAY(vhost_virtio_ioctl_cmds);
-       static DEFINE_STRARRAY(vhost_virtio_ioctl_read_cmds);
+       static DEFINE_STRARRAY(vhost_virtio_ioctl_cmds, "");
+       static DEFINE_STRARRAY(vhost_virtio_ioctl_read_cmds, "");
        struct strarray *s = (dir & _IOC_READ) ? &strarray__vhost_virtio_ioctl_read_cmds : &strarray__vhost_virtio_ioctl_cmds;
 
        if (nr < s->nr_entries && s->entries[nr] != NULL)
@@ -104,7 +104,7 @@ static size_t ioctl__scnprintf_vhost_virtio_cmd(int nr, int dir, char *bf, size_
 static size_t ioctl__scnprintf_perf_cmd(int nr, int dir, char *bf, size_t size)
 {
 #include "trace/beauty/generated/ioctl/perf_ioctl_array.c"
-       static DEFINE_STRARRAY(perf_ioctl_cmds);
+       static DEFINE_STRARRAY(perf_ioctl_cmds, "");
 
        if (nr < strarray__perf_ioctl_cmds.nr_entries && strarray__perf_ioctl_cmds.entries[nr] != NULL)
                return scnprintf(bf, size, "PERF_%s", strarray__perf_ioctl_cmds.entries[nr]);
index b276a27..56f1e50 100644 (file)
@@ -28,7 +28,7 @@ size_t syscall_arg__scnprintf_kcmp_idx(char *bf, size_t size, struct syscall_arg
 
 static size_t kcmp__scnprintf_type(int type, char *bf, size_t size)
 {
-       static DEFINE_STRARRAY(kcmp_types);
+       static DEFINE_STRARRAY(kcmp_types, "KCMP_");
        return strarray__scnprintf(&strarray__kcmp_types, bf, size, "%d", type);
 }
 
index c534bd9..1a7bd71 100644 (file)
@@ -34,7 +34,7 @@ static size_t syscall_arg__scnprintf_mmap_prot(char *bf, size_t size,
 static size_t mmap__scnprintf_flags(unsigned long flags, char *bf, size_t size)
 {
 #include "trace/beauty/generated/mmap_flags_array.c"
-       static DEFINE_STRARRAY(mmap_flags);
+       static DEFINE_STRARRAY(mmap_flags, "MAP_");
 
        return strarray__scnprintf_flags(&strarray__mmap_flags, bf, size, flags);
 }
@@ -78,7 +78,7 @@ static size_t syscall_arg__scnprintf_mremap_flags(char *bf, size_t size,
 static size_t madvise__scnprintf_behavior(int behavior, char *bf, size_t size)
 {
 #include "trace/beauty/generated/madvise_behavior_array.c"
-       static DEFINE_STRARRAY(madvise_advices);
+       static DEFINE_STRARRAY(madvise_advices, "MADV_");
 
        if (behavior < strarray__madvise_advices.nr_entries && strarray__madvise_advices.entries[behavior] != NULL)
                return scnprintf(bf, size, "MADV_%s", strarray__madvise_advices.entries[behavior]);
index 712935c..7129106 100644 (file)
@@ -14,7 +14,7 @@
 static size_t mount__scnprintf_flags(unsigned long flags, char *bf, size_t size)
 {
 #include "trace/beauty/generated/mount_flags_array.c"
-       static DEFINE_STRARRAY(mount_flags);
+       static DEFINE_STRARRAY(mount_flags, "MS_");
 
        return strarray__scnprintf_flags(&strarray__mount_flags, bf, size, flags);
 }
index 1b8ed4c..f4818e0 100644 (file)
@@ -41,7 +41,7 @@ size_t strarray__scnprintf_flags(struct strarray *sa, char *bf, size_t size, uns
 static size_t pkey_alloc__scnprintf_access_rights(int access_rights, char *bf, size_t size)
 {
 #include "trace/beauty/generated/pkey_alloc_access_rights_array.c"
-       static DEFINE_STRARRAY(pkey_alloc_access_rights);
+       static DEFINE_STRARRAY(pkey_alloc_access_rights, "PKEY_");
 
        return strarray__scnprintf_flags(&strarray__pkey_alloc_access_rights, bf, size, access_rights);
 }
index be7a5d3..7b6466b 100644 (file)
 
 static size_t prctl__scnprintf_option(int option, char *bf, size_t size)
 {
-       static DEFINE_STRARRAY(prctl_options);
+       static DEFINE_STRARRAY(prctl_options, "PR_");
        return strarray__scnprintf(&strarray__prctl_options, bf, size, "%d", option);
 }
 
 static size_t prctl__scnprintf_set_mm(int option, char *bf, size_t size)
 {
-       static DEFINE_STRARRAY(prctl_set_mm_options);
+       static DEFINE_STRARRAY(prctl_set_mm_options, "PR_SET_MM_");
        return strarray__scnprintf(&strarray__prctl_set_mm_options, bf, size, "%d", option);
 }
 
index 02c7207..910695a 100644 (file)
@@ -7,7 +7,7 @@
 static size_t renameat2__scnprintf_flags(unsigned long flags, char *bf, size_t size)
 {
 #include "trace/beauty/generated/rename_flags_array.c"
-       static DEFINE_STRARRAY(rename_flags);
+       static DEFINE_STRARRAY(rename_flags, "RENAME_");
 
        return strarray__scnprintf_flags(&strarray__rename_flags, bf, size, flags);
 }
index 9410ad2..95cc82a 100644 (file)
@@ -15,7 +15,7 @@ static const char *socket_families[] = {
        "BLUETOOTH", "IUCV", "RXRPC", "ISDN", "PHONET", "IEEE802154", "CAIF",
        "ALG", "NFC", "VSOCK",
 };
-DEFINE_STRARRAY(socket_families);
+DEFINE_STRARRAY(socket_families, "PF_");
 
 static size_t af_inet__scnprintf(struct sockaddr *sa, char *bf, size_t size)
 {
index d971a25..eacbfb9 100644 (file)
@@ -12,7 +12,7 @@
 static size_t socket__scnprintf_ipproto(int protocol, char *bf, size_t size)
 {
 #include "trace/beauty/generated/socket_ipproto_array.c"
-       static DEFINE_STRARRAY(socket_ipproto);
+       static DEFINE_STRARRAY(socket_ipproto, "IPPROTO_");
 
        return strarray__scnprintf(&strarray__socket_ipproto, bf, size, "%d", protocol);
 }