linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 0/5] perf cs-etm: Fix synthesizing instruction samples
@ 2020-02-13  9:41 Leo Yan
  2020-02-13  9:42 ` [PATCH v4 1/5] perf cs-etm: Swap packets for " Leo Yan
                   ` (6 more replies)
  0 siblings, 7 replies; 13+ messages in thread
From: Leo Yan @ 2020-02-13  9:41 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo, Mathieu Poirier, Suzuki K Poulose,
	Mike Leach, Robert Walker, Peter Zijlstra, Ingo Molnar,
	Mark Rutland, Alexander Shishkin, Jiri Olsa, Namhyung Kim,
	linux-arm-kernel, linux-kernel, Coresight ML
  Cc: Leo Yan

This patch series is to address issues for synthesizing instruction
samples, especially when the instruction sample period is small enough,
the current logic cannot synthesize multiple instruction samples within
one instruction range packet.

Patch 0001 is to swap packets for instruction samples, so this allow
option '--itrace=iNNN' can work well.

Patch 0002 avoids to reset the last branches for every instruction
sample; if reset the last branches for every time generating sample, the
later samples in the same range packet cannot use the last branches
anymore.

Patch 0003 is the fixing for handling different instruction periods,
especially for small sample period.

Patch 0004 is an optimization for copying last branches; it only copies
last branches once if the instruction samples share the same last
branches.

Patch 0005 is a minor fix for unsigned variable comparison to zero.

This patch set has been rebased on the latest perf/core branch; and
verified on Juno board with below commands:

  # perf script --itrace=i2
  # perf script --itrace=i2il16
  # perf inject --itrace=i2il16 -i perf.data -o perf.data.new
  # perf inject --itrace=i100il16 -i perf.data -o perf.data.new

Changes from v3:
* Refactored patch 0001 with new function cs_etm__packet_swap() (Mike);
* Refined instruction sample generation flow with single while loop,
  which completely uses Mike's suggestions (Mike);
* Added Mike's review tags for patch 01/02/04/05.

Changes from v2:
* Added patch 0001 which is to fix swapping packets for instruction
  samples;
* Refined minor commit logs and comments;
* Rebased on the latest perf/core branch.

Changes from v1:
* Rebased patch set on perf/core branch with latest commit 9fec3cd5fa4a
  ("perf map: Check if the map still has some refcounts on exit").



Leo Yan (5):
  perf cs-etm: Swap packets for instruction samples
  perf cs-etm: Continuously record last branch
  perf cs-etm: Correct synthesizing instruction samples
  perf cs-etm: Optimize copying last branches
  perf cs-etm: Fix unsigned variable comparison to zero

 tools/perf/util/cs-etm.c | 157 +++++++++++++++++++++++++++------------
 1 file changed, 111 insertions(+), 46 deletions(-)

-- 
2.17.1


^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2020-02-19  1:32 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-02-13  9:41 [PATCH v4 0/5] perf cs-etm: Fix synthesizing instruction samples Leo Yan
2020-02-13  9:42 ` [PATCH v4 1/5] perf cs-etm: Swap packets for " Leo Yan
2020-02-13  9:42 ` [PATCH v4 2/5] perf cs-etm: Continuously record last branch Leo Yan
2020-02-13  9:42 ` [PATCH v4 3/5] perf cs-etm: Correct synthesizing instruction samples Leo Yan
2020-02-13 13:37   ` Mike Leach
2020-02-13  9:42 ` [PATCH v4 4/5] perf cs-etm: Optimize copying last branches Leo Yan
2020-02-13  9:42 ` [PATCH v4 5/5] perf cs-etm: Fix unsigned variable comparison to zero Leo Yan
2020-02-15  3:22 ` [PATCH v4 0/5] perf cs-etm: Fix synthesizing instruction samples Leo Yan
2020-02-17 15:30   ` Mathieu Poirier
2020-02-17 15:44     ` Leo Yan
2020-02-18 18:49 ` Mathieu Poirier
2020-02-18 19:30   ` Arnaldo Carvalho de Melo
2020-02-19  1:32     ` Leo Yan

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).