libperf: Move perf_event_attr field from perf's evsel to libperf's perf_evsel
Move the perf_event_attr struct fron 'struct evsel' to 'struct perf_evsel'. Committer notes: Fixed up these: tools/perf/arch/arm/util/auxtrace.c tools/perf/arch/arm/util/cs-etm.c tools/perf/arch/arm64/util/arm-spe.c tools/perf/arch/s390/util/auxtrace.c tools/perf/util/cs-etm.c Also cc1: warnings being treated as errors tests/sample-parsing.c: In function 'do_test': tests/sample-parsing.c:162: error: missing initializer tests/sample-parsing.c:162: error: (near initialization for 'evsel.core.cpus') struct evsel evsel = { .needs_swap = false, - .core.attr = { - .sample_type = sample_type, - .read_format = read_format, + .core = { + . attr = { + .sample_type = sample_type, + .read_format = read_format, + }, [perfbuilder@a70e4eeb5549 /]$ gcc --version |& head -1 gcc (GCC) 4.4.7 Also we don't need to include perf_event.h in tools/perf/lib/include/perf/evsel.h, forward declaring 'struct perf_event_attr' is enough. And this even fixes the build in some systems where things are used somewhere down the include path from perf_event.h without defining __always_inline. Signed-off-by: Jiri Olsa <jolsa@kernel.org> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Alexey Budankov <alexey.budankov@linux.intel.com> Cc: Andi Kleen <ak@linux.intel.com> Cc: Michael Petlan <mpetlan@redhat.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Link: http://lkml.kernel.org/r/20190721112506.12306-43-jolsa@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:

committed by
Arnaldo Carvalho de Melo

parent
6484d2f9dc
commit
1fc632cef4
@@ -409,7 +409,7 @@ get_tracepoints_path(struct list_head *pattrs)
|
||||
int nr_tracepoints = 0;
|
||||
|
||||
list_for_each_entry(pos, pattrs, core.node) {
|
||||
if (pos->attr.type != PERF_TYPE_TRACEPOINT)
|
||||
if (pos->core.attr.type != PERF_TYPE_TRACEPOINT)
|
||||
continue;
|
||||
++nr_tracepoints;
|
||||
|
||||
@@ -425,7 +425,7 @@ get_tracepoints_path(struct list_head *pattrs)
|
||||
}
|
||||
|
||||
try_id:
|
||||
ppath->next = tracepoint_id_to_path(pos->attr.config);
|
||||
ppath->next = tracepoint_id_to_path(pos->core.attr.config);
|
||||
if (!ppath->next) {
|
||||
error:
|
||||
pr_debug("No memory to alloc tracepoints list\n");
|
||||
@@ -444,7 +444,7 @@ bool have_tracepoints(struct list_head *pattrs)
|
||||
struct evsel *pos;
|
||||
|
||||
list_for_each_entry(pos, pattrs, core.node)
|
||||
if (pos->attr.type == PERF_TYPE_TRACEPOINT)
|
||||
if (pos->core.attr.type == PERF_TYPE_TRACEPOINT)
|
||||
return true;
|
||||
|
||||
return false;
|
||||
|
Reference in New Issue
Block a user