mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-13 14:24:11 +08:00
perf trace: Beautify access 'mode' arg
Removing the _OK suffix and using RWX when all three bits are set, for instance. Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: David Ahern <dsahern@gmail.com> Cc: Frederic Weisbecker <fweisbec@gmail.com> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Mike Galbraith <efault@gmx.de> Cc: Paul Mackerras <paulus@samba.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Stephane Eranian <eranian@google.com> Link: http://lkml.kernel.org/n/tip-ypaz9k43lyqy94679feqnv8x@git.kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
a28b24b278
commit
511089994e
@ -312,6 +312,33 @@ static size_t syscall_arg__scnprintf_socket_type(char *bf, size_t size,
|
||||
|
||||
#define SCA_SK_TYPE syscall_arg__scnprintf_socket_type
|
||||
|
||||
static size_t syscall_arg__scnprintf_access_mode(char *bf, size_t size,
|
||||
struct syscall_arg *arg)
|
||||
{
|
||||
size_t printed = 0;
|
||||
int mode = arg->val;
|
||||
|
||||
if (mode == F_OK) /* 0 */
|
||||
return scnprintf(bf, size, "F");
|
||||
#define P_MODE(n) \
|
||||
if (mode & n##_OK) { \
|
||||
printed += scnprintf(bf + printed, size - printed, "%s", #n); \
|
||||
mode &= ~n##_OK; \
|
||||
}
|
||||
|
||||
P_MODE(R);
|
||||
P_MODE(W);
|
||||
P_MODE(X);
|
||||
#undef P_MODE
|
||||
|
||||
if (mode)
|
||||
printed += scnprintf(bf + printed, size - printed, "|%#x", mode);
|
||||
|
||||
return printed;
|
||||
}
|
||||
|
||||
#define SCA_ACCMODE syscall_arg__scnprintf_access_mode
|
||||
|
||||
static size_t syscall_arg__scnprintf_open_flags(char *bf, size_t size,
|
||||
struct syscall_arg *arg)
|
||||
{
|
||||
@ -422,7 +449,8 @@ static struct syscall_fmt {
|
||||
bool timeout;
|
||||
bool hexret;
|
||||
} syscall_fmts[] = {
|
||||
{ .name = "access", .errmsg = true, },
|
||||
{ .name = "access", .errmsg = true,
|
||||
.arg_scnprintf = { [1] = SCA_ACCMODE, /* mode */ }, },
|
||||
{ .name = "arch_prctl", .errmsg = true, .alias = "prctl", },
|
||||
{ .name = "brk", .hexret = true,
|
||||
.arg_scnprintf = { [0] = SCA_HEX, /* brk */ }, },
|
||||
|
Loading…
Reference in New Issue
Block a user