From: cov@codeaurora.org (Christopher Covington)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 0/3] ARM Coresight: Enhance ETM tracing control
Date: Thu, 05 Dec 2013 17:45:12 -0500 [thread overview]
Message-ID: <52A101F8.3060104@codeaurora.org> (raw)
In-Reply-To: <20131205201659.GA14539@kroah.com>
On 12/05/2013 03:16 PM, Greg Kroah-Hartman wrote:
> On Thu, Dec 05, 2013 at 03:12:50PM -0500, Christopher Covington wrote:
[...]
> And adding new features to code that is "dead" and should probably be
> removed isn't a good idea, as I'm sure you can understand.
I would consider feature additions to be a sign of life. Maybe the
architecture or user interface isn't ideal, but would you suggest just as
quickly for media codec or cryptography hardware support be removed? Those
operations can also be performed purely in software, and of course the pure
software implementation is easier to integrate cleanly across multiple
architectures, but as with tracing hardware, software implementations don't
perform at the rate and scale that some use cases require.
>>>> Coresight ETM is not just faster than /sys/kernel/debug/tracing, it
>>>> provides more detailed and customisable info. For instance, you can
>>>> trace every load, store, instruction fetch, along with the number of
>>>> cycles taken, with almost zero-overhead.
>>>
>>> Can't you already do that with the 'perf' tool the kernel provides
>>> without the ETM driver?
>>
>> With perf one can get a count of how many instructions have been executed,
>> with little overhead, but not the full list of opcodes and addresses.
>
> Is that a limitation of perf on ARM or perf in general? For some reason
> I thought I had seen this using perf on x86, but it's been a while since
> I last used it.
Try this:
perf record -e instructions:u -c 1 echo hello && perf script
At least on my machines this clearly does not produce an instruction trace.
What you probably are familiar with is the periodic sampling I mentioned below.
>> (One can also sample the Program Counter intermittently, which might
>> suffice for performance analysis, but probably doesn't for most
>> debugging use cases.) I think with perf one can have a handful of
>> watchpoints looking at a very few loads and stores, with large
>> overhead. As I understand it, ETM can handle arbitrarily large
>> regions, with little overhead.
>
> How much work is it to incorportate ETM into the perf framework? Don't
> you think that this is a better thing to do overall, instead of having
> duplicating interfaces for the same thing?
I'm not familiar enough with the ETM hardware (and the ETB, the buffer where
the data is stored) and driver to say. One factor may be whether the perf
events framework would need to be extended for complete functionality or could
be used as-is.
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:[~2013-12-05 22:45 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-04 4:39 [PATCH 0/3] ARM Coresight: Enhance ETM tracing control Adrien Vergé
2013-12-04 7:04 ` Greg Kroah-Hartman
2013-12-04 16:52 ` Adrien Vergé
2013-12-04 17:07 ` Greg Kroah-Hartman
2013-12-04 21:12 ` Adrien Vergé
2013-12-04 23:02 ` Greg Kroah-Hartman
2013-12-05 3:49 ` Adrien Vergé
2013-12-05 4:01 ` Greg Kroah-Hartman
2013-12-05 20:12 ` Christopher Covington
2013-12-05 20:16 ` Greg Kroah-Hartman
2013-12-05 22:45 ` Christopher Covington [this message]
2013-12-05 23:26 ` Greg Kroah-Hartman
2013-12-05 23:54 ` Adrien Vergé
2013-12-06 0:06 ` Greg Kroah-Hartman
2013-12-06 0:23 ` Russell King - ARM Linux
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=52A101F8.3060104@codeaurora.org \
--to=cov@codeaurora.org \
--cc=linux-arm-kernel@lists.infradead.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).