Commit-ID:  bbab50dda724309eccec92132d3f36cb262e8728
Gitweb:     https://git.kernel.org/tip/bbab50dda724309eccec92132d3f36cb262e8728
Author:     Arnaldo Carvalho de Melo <[email protected]>
AuthorDate: Wed, 12 Dec 2018 16:54:09 -0300
Committer:  Arnaldo Carvalho de Melo <[email protected]>
CommitDate: Tue, 18 Dec 2018 12:23:58 -0300

perf trace: Switch to using a struct for the aumented_raw_syscalls syscalls map 
values

We'll start adding more perf-syscall stuff, so lets do this prep step so
that the next ones are just about adding more fields.

Cc: Adrian Hunter <[email protected]>
Cc: Jiri Olsa <[email protected]>
Cc: Namhyung Kim <[email protected]>
Cc: Wang Nan <[email protected]>
Link: https://lkml.kernel.org/n/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
---
 tools/perf/builtin-trace.c | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/tools/perf/builtin-trace.c b/tools/perf/builtin-trace.c
index de81918c7ad4..096380e8c213 100644
--- a/tools/perf/builtin-trace.c
+++ b/tools/perf/builtin-trace.c
@@ -908,6 +908,10 @@ struct syscall {
        struct syscall_arg_fmt *arg_fmt;
 };
 
+struct bpf_map_syscall_entry {
+       bool    enabled;
+};
+
 /*
  * We need to have this 'calculated' boolean because in some cases we really
  * don't know what is the duration of a syscall, for instance, when we start
@@ -2583,7 +2587,9 @@ out_enomem:
 static int trace__set_ev_qualifier_bpf_filter(struct trace *trace)
 {
        int fd = bpf_map__fd(trace->syscalls.map);
-       bool value = !trace->not_ev_qualifier;
+       struct bpf_map_syscall_entry value = {
+               .enabled = !trace->not_ev_qualifier,
+       };
        int err = 0;
        size_t i;
 
@@ -2601,10 +2607,13 @@ static int trace__set_ev_qualifier_bpf_filter(struct 
trace *trace)
 static int __trace__init_syscalls_bpf_map(struct trace *trace, bool enabled)
 {
        int fd = bpf_map__fd(trace->syscalls.map);
+       struct bpf_map_syscall_entry value = {
+               .enabled = enabled,
+       };
        int err = 0, key;
 
        for (key = 0; key < trace->sctbl->syscalls.nr_entries; ++key) {
-               err = bpf_map_update_elem(fd, &key, &enabled, BPF_ANY);
+               err = bpf_map_update_elem(fd, &key, &value, BPF_ANY);
                if (err)
                        break;
        }

Reply via email to