VS-extension improvements ver. vs-5.x [CMN]
Description
Attachments
Work | Priority | Story Points | Assignee | Status |
---|---|---|---|---|
Add story points | ||||
Add story points | ||||
Add story points | ||||
Add story points | ||||
Add story points | ||||
Add story points | ||||
Add story points | ||||
Add story points | ||||
Add story points | ||||
Add story points | ||||
Add story points | ||||
Add story points | ||||
Add story points | ||||
Add story points | ||||
Add story points | ||||
Add story points | ||||
Add story points | ||||
Add story points | ||||
Add story points | ||||
Add story points | ||||
Add story points |
Aligns with
Activity
Nader Zouaoui mentioned this issue in a merge request of linaro / WindowsPerf / vs-extension on branch rename-spe-event:
https://linaro.atlassian.net/browse/WPERF-1130#icft=WPERF-1130 Rename spe event
Nader Zouaoui mentioned this issue in a merge request of linaro / WindowsPerf / vs-extension on branch bump-version-4.6.0:
https://linaro.atlassian.net/browse/WPERF-1130#icft=WPERF-1130 Bump version 4.6.0
Nader Zouaoui mentioned this issue in a merge request of linaro / WindowsPerf / vs-extension on branch cmn-meta-data-parsing:
https://linaro.atlassian.net/browse/WPERF-1130#icft=WPERF-1130 Cmn meta data parsing
Nader Zouaoui mentioned this issue in a merge request of linaro / WindowsPerf / vs-extension on branch bump-version-to-4.5.0:
https://linaro.atlassian.net/browse/WPERF-1130#icft=WPERF-1130 chore: bump extension version to 4.5.0
perf stat -e arm_cmn_0/hnf_cache_miss/ # full format
perf stat -e arm_cmn_0/type=0x5,eventid=0x1/ # format with event name replaced by type and eventid
perf stat -e arm_cmn_0/config=0x10005/ # format where fields from "struct perf_event_attr" are given explicitly
perf stat -e arm_cmn_0/hnf_cache_miss,bynodeid,nodeid=0x24/ # full format
perf stat -e arm_cmn_0/type=0x5,eventid=0x1,bynodeid,nodeid=0x24/ # format with event name replaced by type and eventid
perf stat -e arm_cmn_0/config=0x2480010005/ # format where fields from "struct perf_event_attr" are given explicitly
perf stat -e '{arm_cmn_0/hnf_cache_miss,bynodeid,nodeid=0x24/,arm_cmn_0/type=0x5,eventid=0x1,bynodeid,nodeid=0x24/,arm_cmn_0/config=0x2480010005/}' sleep 1
We have to create new CMN window. CMN is enabled on the system if
wperf test
command will returncmn_device.version_name
with value different toCMN_FAMILY_UNKNOWN
>wperf test ... cmn_device.version_name CMN700_FAMILY cmn_device.mem.base 0x00000000000140000000 cmn_device.mem.end 0x0000000000017fffffff
So:
if
cmn_device.version_name
==CMN_FAMILY_UNKNOWN
- CMN device is not available.If
cmn_device.version_name
== e.g.CMN700_FAMILY
CMN is detected.See https://linaro.atlassian.net/browse/WPERF-1089 to understand how
-e
witharm_cmn_0//
can be sheped. In short it can be:-e arm_cmn_0/<list_of_filters>/
-e arm_cmn_0/hnf_cache_miss,bynodeid,nodeid=0x24/,arm_cmn_0/type=0x5,eventid=0x1,bynodeid,nodeid=0x24/
(twoarm_spe_0//
defined).As above but it can be grouped with outer
{}
brackets.Considerations
Support for process spawn (priority low)
Support for timeline (priority high)
event name, for example
hnf_cache_miss
istype=0x5,eventid=0x1
because:WPERF_TS_CMN_DEVICE(CMN700_FAMILY, HNF, 5, "Telemetry Specification (PMU Events, Metrics and Methodology) for HNF CMN")
WPERF_TS_CMN_EVENTS(CMN700_FAMILY, HNF, PMU_HNF_CACHE_MISS_EVENT, 0x0001, "pmu_hnf_cache_miss_event", "PMU_HNF_CACHE_MISS_EVENT", "Counts total cache misses in first lookup result (high priority)")
Definition of done
Add new modal window for CMN counting. We want to support widgets for command line options like:
wperf stat
-e arm_cmn_0//
Plus filters that CMN can support. For development please hardcode some filters like:
Note: Ask Everton to help you understand type of input we can put in each “filter”.
nodeid
- An integer or hex number indicating thenodeid
this will have no effect ifbynodeid
is not setbynodeid
- Defines that the event is related to a particularnodeid
, if this flag is foundnodeid
is required.type
- A number or hex with the device type, valid types are at the moment directly takes from Arm ARM. This is required.eventid
- A number or hex defining theeventid
for this event.dtcid
- A number or hex defining the DTC domain for this event.event
- A string taken from Telemetry solution an event already containstype
andeventid
information.Example event names per CMN devices are: https://gitlab.com/Linaro/WindowsPerf/windowsperf/-/blob/main/wperf-common/cmn700.def?ref_type=heads#L39
Flags:
--dpc-ovf, --enable-dpc-overflow
(bool)--dtc-ovf, --enable-dtc-overflow
(bool)--timeout
/sleep N
UI Idea: