Re: more perf breakage from sample identifier

From: David Ahern
Date: Thu Sep 05 2013 - 17:56:19 EST


On 9/5/13 3:35 PM, David Ahern wrote:
Adrian:

'perf kvm stat live' command fails on Linus' latest tree:
$ perf kvm stat live
Failed to parse sample

git bisect points to:

75562573bab35b129cfd342fc2bcf89da84a6644 is the first bad commit
commit 75562573bab35b129cfd342fc2bcf89da84a6644
Author: Adrian Hunter <adrian.hunter@xxxxxxxxx>
Date: Tue Aug 27 11:23:09 2013 +0300

perf tools: Add support for PERF_SAMPLE_IDENTIFIER

Enable parsing of samples with sample format bit
PERF_SAMPLE_IDENTIFIER.
In addition, if the kernel supports it, prefer it to selecting
PERF_SAMPLE_ID thereby allowing non-matching sample types.

Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx>


perf_evlist__event2evsel() is failing. From what I can see the problem
is that evlist->heads is not getting populated. This command does not
read/write files but processes events as they come in. I have another
similar command that is also breaking for the same reason.

That's not the problem. The hash is getting populated. The problem is a bad assumption on what fields are in the sample -- like PERF_SAMPLE_IP. The kvm command does not care about the IP so it is excluded:

attr->sample_type &= ~PERF_SAMPLE_IP;

If I remove that line the command works fine.

Since this a legitimate option to not get the IP in the sample, the evsel lookup code needs to get fixed in 3.12.

David
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/