Thread (7 messages) 7 messages, 3 authors, 2018-09-05

[PATCH v2] perf: Support for Arm A32/T32 instruction sets in CoreSight trace

flat view

From: Robert Walker <hidden>
Date: 2018-08-29 14:34:28
Also in: lkml

Hi Kim,


On 29/08/18 14:49, Kim Phillips wrote:
On Wed, 29 Aug 2018 10:44:23 +0100
Robert Walker [off-list ref] wrote:
quoted
This patch adds support for generating instruction samples from trace of
AArch32 programs using the A32 and T32 instruction sets.

T32 has variable 2 or 4 byte instruction size, so the conversion between
addresses and instruction counts requires extra information from the trace
decoder, requiring version 0.9.1 of OpenCSD.  A check for the new struct
member has been added to the feature check for OpenCSD.

Signed-off-by: Robert Walker <redacted>
---
...
quoted
+++ b/tools/build/feature/test-libopencsd.c
@@ -3,6 +3,13 @@
  
  int main(void)
  {
+	/*
+	 * Requires ocsd_generic_trace_elem.num_instr_range introduced in
+	 * OpenCSD 0.9
0.9 != 0.9.1 in the above commit text: which is it?
I'll change it to 0.9.1 if there's another version of the patch (it was 
introduced in 0.9, but 0.9.1 has a necessary bug fix)
quoted
+	 */
+	ocsd_generic_trace_elem elem;
+	(void)elem.num_instr_range;
+
This breaks building against older versions of OpenCSD, right?
quoted
  	(void)ocsd_get_version();
Why don't we maintain building against older versions of the library,
and use the version information to make the decision on whether to use
the new feature being introduced in this patch?
The intention is to fail the feature detection check if the older 
version is installed - perf will still compile, but without the 
CoreSight trace support.

OpenCSD is still in development, so new features like this are being 
added and it would add a lot of #ifdef mess to the perf code to continue 
to support any machines with the old library version installed - there 
will only be a handful of machines affected and it's trivial to upgrade 
them (the new Debian packages are available).? How long would we 
continue to support such an older version?? I also don't see any 
precedent for supporting multiple dependent library versions in perf.
Thanks,

Kim
Regards

Rob
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help