summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMax Krummenacher <max.oss.09@gmail.com>2021-11-22 17:34:58 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2021-11-26 17:01:08 +0000
commitc67fab09fef16c092565d7be79fa8aff433af005 (patch)
treeb90488d88146169cd02cf264a95f3a3101b50dd0
parent1bac831fbaafb6fd27addbb467b0815679a62319 (diff)
downloadpoky-c67fab09fef16c092565d7be79fa8aff433af005.tar.gz
perf: sort-pmuevents: don't drop elements
If a struct element neither has an element cpuid or name it gets silenty dropped. Kernel 5.15 for some ARCHs have at least one array of structs matching this. e.g. for arm pmu-events.c: |#include "pmu-events/pmu-events.h" struct pmu_events_map pmu_events_map[] = { { .cpuid = 0, .version = 0, .type = 0, .table = 0, }, }; struct pmu_sys_events pmu_sys_event_tables[] = { { .table = 0 }, }; Before this patch the second struct is translated to an empty array:: struct pmu_sys_events pmu_sys_event_tables[] = { }; (From OE-Core rev: e1382583cd5060be301afaa9998ccf250cc8bca3) Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rwxr-xr-xmeta/recipes-kernel/perf/perf/sort-pmuevents.py2
1 files changed, 2 insertions, 0 deletions
diff --git a/meta/recipes-kernel/perf/perf/sort-pmuevents.py b/meta/recipes-kernel/perf/perf/sort-pmuevents.py
index 5ddf0f144f..4f841eb822 100755
--- a/meta/recipes-kernel/perf/perf/sort-pmuevents.py
+++ b/meta/recipes-kernel/perf/perf/sort-pmuevents.py
@@ -61,6 +61,8 @@ for struct in re.findall( struct_block_regex, data ):
61 #print( " name found: %s" % name.group(1) ) 61 #print( " name found: %s" % name.group(1) )
62 entry_dict[struct[1]]['fields'][name.group(1)] = entry 62 entry_dict[struct[1]]['fields'][name.group(1)] = entry
63 63
64 if not entry_dict[struct[1]]['fields']:
65 entry_dict[struct[1]]['fields']['0'] = entry
64 66
65# created ordered dictionaries from the captured values. These are ordered by 67# created ordered dictionaries from the captured values. These are ordered by
66# a sorted() iteration of the keys. We don't care about the order we read 68# a sorted() iteration of the keys. We don't care about the order we read