From: Christopher Covington <cov@codeaurora.org>
To: William Cohen <wcohen@redhat.com>
Cc: Andi Kleen <andi@firstfloor.org>, linux-perf-users@vger.kernel.org
Subject: Re: Some event modifiers missing from output and desire option to compute value based on measurements
Date: Fri, 21 Mar 2014 08:49:38 -0400 [thread overview]
Message-ID: <532C3562.1010706@codeaurora.org> (raw)
In-Reply-To: <5321FB46.5020003@redhat.com>
Hi Will,
On 03/13/2014 02:39 PM, William Cohen wrote:
> On 03/13/2014 01:30 PM, Andi Kleen wrote:
>> William Cohen <wcohen@redhat.com> writes:
>>
>>> When experimenting with perf I wanted to have separate counts for events in userspace and the kernel. I used:
>>>
>>> $ perf stat -e instructions:u -e instructions:k -e cycles:u -e cycles:k -e cache-misses:u -e cache-misses:k make
>>>
>>> The associated output below includes the event modifiers for all the events, but the 3.06 and 0.37 insns per cycles look off. Shouldn't that instructions:u/cycles:u and instructions:k/cycles:k be the values reported for "insns per cycle"?
>>
>> Yes the event match code currently assumes there's only a single event
>> each and always uses the last.
>>
>>> It appears that the output is listing the measurements in the same
>>> order they are specified on the command line, but it would be nice if
>>> the output was clearer on the events being measured. If I am reading
>>> the output correctly, the L1-icache-load-misses per instruction is
>>> pretty poor for kernel-space. Much of the time I am looking at ratios
>>> of events and it would be nice if "perf stat" had a way to have it
>>> compute the ratios directly. Maybe a "-m, --math" option allowing
>>> algebraic expressions where you could do:
>
> Hi Andi,
>
> So the missing event modifier is still a problem. The events begins passed into the perf are not going to match the names on the output. Also a script using the output perf is not going to be able to distinguish between the same event with different modifiers.
>
>>
>> Most people just use -x, and load the result into a spread sheet or
>> other script that does the compuations. At some point you usually want
>> to plot the data or do other more complex manipulations than your
>> simple facility would provide.
>>
>> You may also find this script useful
>>
>> https://github.com/andikleen/pmu-tools/blob/master/interval-normalize.py
>>
>> -Andi
>>
>
> Thanks for the pointer to the interval-normalize.py script.
>
> Yes, many people are probably using other more sophisticated tools such as
> spread sheets to analyze the data from perf. However, something like a "-m,
> --math" option would give a bit more insight than the basic "perf stat"
> without having to resort to more sophisticated tools. "perf stat" is already
> generating all sorts of derived numbers such as IPC, events/second, and
> perccent of cache misses it seems like a small step to provide some
> flexibility for the user to specify exactly what to compute.
I don't know how useful a reference this is, but here's an out-of-tree
"periodic" command with math flag support.
https://www.codeaurora.org/cgit/quic/la/kernel/msm-3.10/tree/tools/perf/builtin-periodic.c?h=LNX.LA.3.6_rb1.1&id=4235d779be748291ed2ec5581dd64e7d1a529297
Christopher
--
Employee of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by the Linux Foundation.
next prev parent reply other threads:[~2014-03-21 12:49 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-13 16:58 Some event modifiers missing from output and desire option to compute value based on measurements William Cohen
2014-03-13 17:30 ` Andi Kleen
2014-03-13 18:39 ` William Cohen
2014-03-21 12:49 ` Christopher Covington [this message]
2014-03-21 14:16 ` David Ahern
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=532C3562.1010706@codeaurora.org \
--to=cov@codeaurora.org \
--cc=andi@firstfloor.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=wcohen@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.