Hi David,
I am CC'ing the coresight mailing list as it is the best way to get
coresight related support on various issues. I have also included Sai
who has worked on coresight on the dragon board 845.
Regarding autoFDO, Mike Leach recently posted a patchset [1] that
automatically configures autoFDO on a platform. You can either work
with that patchset or use a scripted solution that Al Grant and Robert
Walker have been using.
Thanks,
Mathieu
[1]. https://lists.linaro.org/pipermail/coresight/2020-June/004078.html
---------- Forwarded message ---------
From: David Cunado <David.Cunado(a)arm.com>
Date: Mon, 29 Jun 2020 at 05:14
Subject: Coresight - help
To: Mathieu Poirier <mathieu.poirier(a)linaro.org>, Dave Rodgman
<dave.rodgman(a)arm.com>
Cc: bill.fletcher(a)linaro.org <bill.fletcher(a)linaro.org>
Hi Mathieu,
James King passed me your details as you have had expensive experience
with Coresight support in many platforms.
One of our OSS teams here at Arm is working with Google to try to get
Auto FDO working on DragonBoard 845 – do you know whether Coresight is
‘usable’ on this board and if so, if there are any tips on getting it
to work?
I’ve CC’ed Dave Rodgman, the Tech Lead for the team, who can provide
additional technical details.
Thanks!
David
david cunado | open source software group | Arm
tel: +44 1223 404112 | mob: +44 7827 230 654
IMPORTANT NOTICE: The contents of this email and any attachments are
confidential and may also be privileged. If you are not the intended
recipient, please notify the sender immediately and do not disclose
the contents to any other person, use it for any purpose, or store or
copy the information in any medium. Thank you.
This patchset provides an infrastructure to allow for the automatic
selection of a sink during CoreSight tracing operations.
Currently starting tracing using perf requires a sink selection on the
command line:-
sudo ./perf record -e cs_etm/@tmc_etr0/ --per-thread uname -a
After this set (and the follow-up perf change set) the infrastructure will
be able to select a default sink:-
sudo ./perf record -e cs_etm// --per-thread uname -a
This matches with the default operation provided with perf and intelpt.
Where no sink is specified at the start of a trace session, the CoreSight
system will walk the connection graph from the source ETM, to find a
suitable sink using the first encountered highest priority device.
The CoreSight infrastructure is updated to define sink sub_types to
differentiate between sinks with built in buffers (ETB / ETF) - BUFFER
type, and those that use system memory (ETR) - SYSMEM - types.
SYSMEM types are considered higher priority.
When two sinks are found of equal priority, then the closest sink to the
source in terms of connection nodes is chosen.
The automatic sink selection will also operate if an ETM is enabled using
sysfs commands, and no sink is currently enabled. A last_sink attribute is
added to trace sources that is set to the value of the sink used when a
source is enabled via sysfs. This is set in both default and user enabled
sink scenarios.
Applies to Linux 5.8-rc1
Tested on Dragonboard DB410c.
Changes since v4:
1) Added reviewed-by etc that were missing from previous sets.
2) Added last_sink attribute to source devices.
3) Added documentation patch to update docs for default sinks.
4) Moved comment fix patch into separate misc fixes set.
Mike Leach (5):
coresight: Add default sink selection to CoreSight base.
coresight: tmc: Update sink types for default selection.
coresight: etm: perf: Add default sink selection to etm perf.
coresight: sysfs: Allow select default sink on source enable.
documentation: coresight: Update CoreSight document for default sink.
Documentation/trace/coresight/coresight.rst | 48 ++--
.../hwtracing/coresight/coresight-etm-perf.c | 17 +-
drivers/hwtracing/coresight/coresight-priv.h | 2 +
drivers/hwtracing/coresight/coresight-tmc.c | 3 +-
drivers/hwtracing/coresight/coresight.c | 205 +++++++++++++++++-
include/linux/coresight.h | 6 +
6 files changed, 261 insertions(+), 20 deletions(-)
--
2.17.1