perf stat record: Keep sample_type 0 for pipe session
For pipe sessions we need to keep sample_type zero, because script's perf_evsel__check_attr is triggered by sample_type != 0, and the check would fail on stat session. I was tempted to keep it zero unconditionally, but the pipe session is sufficient. In perf.data session we are guarded by HEADER_STAT feature. Signed-off-by: Jiri Olsa <jolsa@kernel.org> Cc: David Ahern <dsahern@gmail.com> Cc: Kan Liang <kan.liang@intel.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Link: http://lkml.kernel.org/r/1452028152-26762-2-git-send-email-jolsa@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
4c96bee032
commit
6db1a5c190
|
@ -184,11 +184,18 @@ static int create_perf_stat_counter(struct perf_evsel *evsel)
|
|||
* like tracepoints. Clear it up for counting.
|
||||
*/
|
||||
attr->sample_period = 0;
|
||||
|
||||
/*
|
||||
* But set sample_type to PERF_SAMPLE_IDENTIFIER, which should be harmless
|
||||
* while avoiding that older tools show confusing messages.
|
||||
*
|
||||
* However for pipe sessions we need to keep it zero,
|
||||
* because script's perf_evsel__check_attr is triggered
|
||||
* by attr->sample_type != 0, and we can't run it on
|
||||
* stat sessions.
|
||||
*/
|
||||
attr->sample_type = PERF_SAMPLE_IDENTIFIER;
|
||||
if (!(STAT_RECORD && perf_stat.file.is_pipe))
|
||||
attr->sample_type = PERF_SAMPLE_IDENTIFIER;
|
||||
|
||||
/*
|
||||
* Disabling all counters initially, they will be enabled
|
||||
|
|
Loading…
Reference in a new issue