[<prev] [next>] [day] [month] [year] [list]
Message-ID: <tip-vac4sn1ns1vj4y07lzj7y4b8@git.kernel.org>
Date: Thu, 20 Dec 2018 10:11:46 -0800
From: tip-bot for Arnaldo Carvalho de Melo <tipbot@...or.com>
To: linux-tip-commits@...r.kernel.org
Cc: wangnan0@...wei.com, tglx@...utronix.de, acme@...hat.com,
mingo@...nel.org, linux-kernel@...r.kernel.org,
adrian.hunter@...el.com, hpa@...or.com, jolsa@...nel.org,
namhyung@...nel.org
Subject: [tip:perf/core] perf trace: Switch to using a struct for the
aumented_raw_syscalls syscalls map values
Commit-ID: bbab50dda724309eccec92132d3f36cb262e8728
Gitweb: https://git.kernel.org/tip/bbab50dda724309eccec92132d3f36cb262e8728
Author: Arnaldo Carvalho de Melo <acme@...hat.com>
AuthorDate: Wed, 12 Dec 2018 16:54:09 -0300
Committer: Arnaldo Carvalho de Melo <acme@...hat.com>
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 <adrian.hunter@...el.com>
Cc: Jiri Olsa <jolsa@...nel.org>
Cc: Namhyung Kim <namhyung@...nel.org>
Cc: Wang Nan <wangnan0@...wei.com>
Link: https://lkml.kernel.org/n/tip-vac4sn1ns1vj4y07lzj7y4b8@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@...hat.com>
---
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;
}
Powered by blists - more mailing lists