mirror of
https://github.com/torvalds/linux.git
synced 2024-11-07 12:41:55 +00: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
|
#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,
|
static size_t syscall_arg__scnprintf_open_flags(char *bf, size_t size,
|
||||||
struct syscall_arg *arg)
|
struct syscall_arg *arg)
|
||||||
{
|
{
|
||||||
@ -422,7 +449,8 @@ static struct syscall_fmt {
|
|||||||
bool timeout;
|
bool timeout;
|
||||||
bool hexret;
|
bool hexret;
|
||||||
} syscall_fmts[] = {
|
} syscall_fmts[] = {
|
||||||
{ .name = "access", .errmsg = true, },
|
{ .name = "access", .errmsg = true,
|
||||||
|
.arg_scnprintf = { [1] = SCA_ACCMODE, /* mode */ }, },
|
||||||
{ .name = "arch_prctl", .errmsg = true, .alias = "prctl", },
|
{ .name = "arch_prctl", .errmsg = true, .alias = "prctl", },
|
||||||
{ .name = "brk", .hexret = true,
|
{ .name = "brk", .hexret = true,
|
||||||
.arg_scnprintf = { [0] = SCA_HEX, /* brk */ }, },
|
.arg_scnprintf = { [0] = SCA_HEX, /* brk */ }, },
|
||||||
|
Loading…
Reference in New Issue
Block a user