Re: [PATCH v0 00/71] perf: Add support for Intel Processor Trace

From: Ingo Molnar
Date: Wed Dec 11 2013 - 08:47:35 EST



* Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> wrote:

> Ingo Molnar <mingo@xxxxxxxxxx> writes:
>
> > * Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> wrote:
> >
> >> Hi,
> >>
> >> This patchset adds support for Intel Processor Trace (PT) extension
> >> [1] of Intel Architecture that allows the capture of information
> >> about software execution flow, to the perf kernel and userspace
> >> infrastructure. We provide an abstraction for it called "itrace" for
> >> "instruction trace" ([2]).
> >
> > Ok, this feature looks rather interesting.
> >
> > On the hardware side this is essentially BTS (Branch Trace Store)
> > on steroids (with many extensions), right?
>
> Yes, you get timestamps and all sorts of other useful data in the
> trace and the performance intrusion is much less than that of BTS.

So the problem I see here right now that BTS is rarely used and AFAICS
close to unmaintained. It has some very minimal support in 'perf
script' but that's all I can see.

So one necessary precondition to merging PT support would be to have a
convincing case that this kind of stuff is generally useful.

One good approach to do that would be to unify the BTS and PT tooling
(the kernel side can be unified as well, to the extent it makes
sense), and to prove it via actual functionality that this stuff
matters. BTS is available widely, so the tooling can be tested by
anyone who's interested.

Allow people to record crashes in core dumps, allow them to look at
histograms/spectrograms of BTS/PT traces, zoom in on actual traces,
etc. - make it easier to handle this huge amount of data and visualize
traces in other ways you find useful, etc.

None of that is done right now via BTS so nobody uses it.

Thanks,

Ingo
--
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/