Re: [PATCH 07/12] perf test: Add simple bubblesort test for coresight aux data

From: Carsten Haitzler
Date: Tue Jan 04 2022 - 10:13:12 EST




On 1/3/22 08:00, Leo Yan wrote:
On Wed, Dec 15, 2021 at 04:03:58PM +0000, carsten.haitzler@xxxxxxxxxxxx wrote:
From: Carsten Haitzler <carsten.haitzler@xxxxxxx>

This adds a simple bubblesort test that sorts small and large data
sets to see if a sufficient mount of aux data is produced.

When review this patch set, I try to classify the testing cases into
below three types, and I hope a testing is designed to verify a specific
CoreSight feature and can fall into one of these three types:

- For the waypoint testing, e.g. the test case is used to test different
branch instructions (direct or indirect branch, exception, etc);
- The config testing, we can rely on CoreSight configFS to configure
the specific CoreSight working mode, e.g. using strobing mode for
audoFDO [1];
- Verify if CoreSight driver works correctly with perf event
framework, I think essentially the test case [2] is used for this
purpose.

I know the bubble sort testing can give us more confidence to validate
the CoreSight tracing data for a complex sort algorithm, on the other
hand, bubble sort testing is essentially to test the way points.

For this reason, I think the case asm_pure_loop.S has covered the
testing for branch instructions, and if we want to cover more complete
waypoint testing, you could consider to extend asm_pure_loop.S file.

Furthermore, I expect the bubble sort is to be used for testing the
CoreSight configuration, e.g. it can be used to test for the strobing
mode (and for validation AutoFDO).

How about you think for this?

I actually didn't include any autofdo testing as this was mostly a matter of tooling after you have collected a trace. Run through the trace data and then build up a good image of the execution of the target and that would probably belong in tooling outside of the kernel. The idea here was to see if we do collect sufficient amounts of data and that the data looks "sane". This is all about looking to see if we only get a single block or only 2 or 3 blocks then it stops or no blocks and then with various stresses on kernel (memory heavy, cpu heavy) to see if anything will greatly affect this.

The bubble sort does allow a basis to build some fdo tests on, but having a baseline of "does it collect data at all" to start with is a good call. I had not tested the strobing yet as that was probably another phase in this. Most of this was about getting the core infrastructure in to be able to add lots of little test tools we can run and the harnesses to run them and collect statistical data over time.

Just a side note - the asm loop is arm64 specific and thus it's good for testing an exact result from, but bubble sort is portable. It would allow us to use this for an Arm 64 platform like the Morello board. I've been keeping in mind "be somewhat portable" for this reason.

The only downside of keeping this test I think is that the whole test suite takes a bit longer to run. Is this sufficient a concern to remove this test from the patchset given the above?

Thanks,
Leo

[1] https://www.kernel.org/doc/html/latest/trace/coresight/coresight-config.html#coresight-system-configuration-manager
[2] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/tools/perf/tests/shell/test_arm_coresight.sh

Signed-off-by: Carsten Haitzler <carsten.haitzler@xxxxxxx>
---
.../shell/coresight_bubble_sort_random.sh | 20 +
.../shell/coresight_bubble_sort_small.sh | 20 +
.../perf/tests/shell/tools/coresight/Makefile | 3 +-
.../tools/coresight/bubble_sort/Makefile | 31 +
.../tools/coresight/bubble_sort/bubble_sort.c | 89 +
.../coresight/bubble_sort/random_array.txt | 1855 +++++++++++++++++
.../coresight/bubble_sort/small_array.txt | 10 +
7 files changed, 2027 insertions(+), 1 deletion(-)
create mode 100755 tools/perf/tests/shell/coresight_bubble_sort_random.sh
create mode 100755 tools/perf/tests/shell/coresight_bubble_sort_small.sh
create mode 100644 tools/perf/tests/shell/tools/coresight/bubble_sort/Makefile
create mode 100644 tools/perf/tests/shell/tools/coresight/bubble_sort/bubble_sort.c
create mode 100644 tools/perf/tests/shell/tools/coresight/bubble_sort/random_array.txt
create mode 100644 tools/perf/tests/shell/tools/coresight/bubble_sort/small_array.txt

diff --git a/tools/perf/tests/shell/coresight_bubble_sort_random.sh b/tools/perf/tests/shell/coresight_bubble_sort_random.sh
new file mode 100755
index 000000000000..63567f8c4f8b
--- /dev/null
+++ b/tools/perf/tests/shell/coresight_bubble_sort_random.sh
@@ -0,0 +1,20 @@
+#!/bin/sh -e
+# Coresight / Bubblesort Random Array
+
+# SPDX-License-Identifier: GPL-2.0
+# Carsten Haitzler <carsten.haitzler@xxxxxxx>, 2021
+
+TEST="bubble_sort"
+. $(dirname $0)/lib/coresight.sh
+ARGS="$DIR/random_array.txt"
+DATV="random"
+DATA="$DATD/perf-$TEST-$DATV.data"
+
+echo $ARGS
+
+perf record $PERFRECOPT -o "$DATA" "$BIN" $ARGS
+
+perf_dump_aux_verify "$DATA" 4188 1630 1630
+
+err=$?
+exit $err
diff --git a/tools/perf/tests/shell/coresight_bubble_sort_small.sh b/tools/perf/tests/shell/coresight_bubble_sort_small.sh
new file mode 100755
index 000000000000..ac86d9973fba
--- /dev/null
+++ b/tools/perf/tests/shell/coresight_bubble_sort_small.sh
@@ -0,0 +1,20 @@
+#!/bin/sh -e
+# Coresight / Bubblesort Small Array
+
+# SPDX-License-Identifier: GPL-2.0
+# Carsten Haitzler <carsten.haitzler@xxxxxxx>, 2021
+
+TEST="bubble_sort"
+. $(dirname $0)/lib/coresight.sh
+ARGS="$DIR/small_array.txt"
+DATV="small"
+DATA="$DATD/perf-$TEST-$DATV.data"
+
+echo $ARGS
+
+perf record $PERFRECOPT -o "$DATA" "$BIN" $ARGS
+
+perf_dump_aux_verify "$DATA" 66 6 6
+
+err=$?
+exit $err
diff --git a/tools/perf/tests/shell/tools/coresight/Makefile b/tools/perf/tests/shell/tools/coresight/Makefile
index 1edab729db76..49fa80d28df4 100644
--- a/tools/perf/tests/shell/tools/coresight/Makefile
+++ b/tools/perf/tests/shell/tools/coresight/Makefile
@@ -6,7 +6,8 @@ include ../../../../../../tools/scripts/utilities.mak
SUBDIRS = \
asm_pure_loop \
- thread_loop
+ thread_loop \
+ bubble_sort
all: $(SUBDIRS)
$(SUBDIRS):
diff --git a/tools/perf/tests/shell/tools/coresight/bubble_sort/Makefile b/tools/perf/tests/shell/tools/coresight/bubble_sort/Makefile
new file mode 100644
index 000000000000..6b82854f9f2b
--- /dev/null
+++ b/tools/perf/tests/shell/tools/coresight/bubble_sort/Makefile
@@ -0,0 +1,31 @@
+# SPDX-License-Identifier: GPL-2.0
+# Carsten Haitzler <carsten.haitzler@xxxxxxx>, 2021
+include ../Makefile.miniconfig
+
+BIN=bubble_sort
+LIB=
+
+all: $(BIN)
+
+$(BIN): $(BIN).c
+ifdef CORESIGHT
+ifeq ($(ARCH),arm64)
+ $(Q)$(CC) $(BIN).c -o $(BIN) $(LIB)
+endif
+endif
+
+install-tests: all
+ifdef CORESIGHT
+ifeq ($(ARCH),arm64)
+ $(call QUIET_INSTALL, tests) \
+ $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/tests/shell/tools/$(BIN)'; \
+ $(INSTALL) $(BIN) '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/tests/shell/tools/$(BIN)/$(BIN)'; \
+ $(INSTALL) random_array.txt '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/tests/shell/tools/$(BIN)/random_array.txt'; \
+ $(INSTALL) small_array.txt '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/tests/shell/tools/$(BIN)/small_array.txt'
+endif
+endif
+
+clean:
+ $(Q)$(RM) -f $(BIN)
+
+.PHONY: all clean install-tests
diff --git a/tools/perf/tests/shell/tools/coresight/bubble_sort/bubble_sort.c b/tools/perf/tests/shell/tools/coresight/bubble_sort/bubble_sort.c
new file mode 100644
index 000000000000..07169e03a803
--- /dev/null
+++ b/tools/perf/tests/shell/tools/coresight/bubble_sort/bubble_sort.c
@@ -0,0 +1,89 @@
+// SPDX-License-Identifier: GPL-2.0
+// Andrea Brunato <andrea.brunato@xxxxxxx>, 2021
+// Example taken from: https://gcc.gnu.org/wiki/AutoFDO/Tutorial
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <assert.h>
+
+int count_lines(FILE *fp)
+{
+ int lines_n = 0;
+ char c;
+
+ for (c = getc(fp); !feof(fp); c = getc(fp)) {
+ if (c == '\n')
+ lines_n = lines_n + 1;
+ }
+ fseek(fp, 0, SEEK_SET);
+#ifdef DEBUG
+ printf("Number of lines: %d\n", lines_n);
+#endif
+ return lines_n;
+}
+
+#ifdef DEBUG
+void print_array(int *arr, int size)
+{
+ int i;
+
+ assert(arr != NULL);
+ for (i = 0; i < size; i++)
+ printf("%d\n", arr[i]);
+}
+#endif
+
+void bubble_sort(int *a, int n)
+{
+ int i, t, s = 1;
+
+ while (s) {
+ s = 0;
+ for (i = 1; i < n; i++) {
+ if (a[i] < a[i - 1]) {
+ t = a[i];
+ a[i] = a[i - 1];
+ a[i - 1] = t;
+ s = 1;
+ }
+ }
+ }
+}
+
+void init_array(int *arr, int size, FILE *fp)
+{
+ int i;
+
+ for (i = 0; i < size; i++)
+ fscanf(fp, "%d", &arr[i]);
+}
+
+int main(int argc, char **argv)
+{
+ int lines_n = 0, *arr = NULL;
+ FILE *fp;
+
+ assert((argc == 2) && "Please specify an input file\n");
+
+ fp = fopen(argv[1], "r");
+ assert((fp != NULL) && "ERROR: Couldn't open the specified file\n");
+
+ // Input file expected formar: one number per line
+ lines_n = count_lines(fp);
+
+ arr = malloc(sizeof(int) * lines_n);
+ init_array(arr, lines_n, fp);
+
+ bubble_sort(arr, lines_n);
+
+#ifdef DEBUG
+ print_array(arr, lines_n);
+#endif
+
+ free(arr);
+ fclose(fp);
+
+ return 0;
+}
+
+
diff --git a/tools/perf/tests/shell/tools/coresight/bubble_sort/random_array.txt b/tools/perf/tests/shell/tools/coresight/bubble_sort/random_array.txt
new file mode 100644
index 000000000000..d041cfb7a649
--- /dev/null
+++ b/tools/perf/tests/shell/tools/coresight/bubble_sort/random_array.txt
@@ -0,0 +1,1855 @@
+11637
+3799
+23116
+15091
+13022
+15840
+27029
+27563
+25641
+28703
+3017
+29923
+26998
+18230
+26864
+9139
+28431
+18283
+21315
+28167
+7700
+14798
+15512
+20470
+9237
+29921
+28395
+15057
+29819
+26831
+5926
+26653
+390
+2976
+21651
+410
+11429
+1828
+3534
+31091
+9141
+30892
+29619
+5033
+20585
+15413
+28673
+32517
+8875
+7509
+22159
+1482
+28926
+2748
+25246
+23677
+2712
+20332
+23615
+2481
+28581
+29728
+13726
+26364
+28074
+23534
+12120
+4130
+1307
+20009
+15225
+17469
+12076
+11899
+22886
+2854
+4667
+11494
+25057
+18590
+15010
+9295
+6603
+12891
+14441
+5499
+26880
+21390
+15932
+3975
+11242
+19063
+27555
+28538
+30148
+14592
+3360
+21049
+24923
+29681
+5157
+15595
+8863
+19992
+12588
+32711
+3077
+22132
+10031
+21685
+1634
+22046
+7323
+17925
+20453
+3694
+4502
+13543
+1959
+9365
+25814
+29540
+30414
+551
+32722
+23697
+32501
+9890
+13134
+2408
+21814
+1692
+8219
+27175
+19880
+1971
+17913
+10985
+75
+6275
+29139
+7104
+3241
+24809
+13310
+17897
+32684
+7199
+2015
+31825
+20985
+30466
+25403
+28839
+3939
+30171
+9223
+27181
+1302
+7945
+18902
+22094
+28959
+28100
+1874
+29613
+4804
+23941
+31981
+1874
+25476
+10176
+2004
+16080
+32404
+24472
+14217
+9647
+24917
+15001
+15559
+23867
+32520
+2545
+2233
+28869
+13685
+26640
+6548
+27395
+13590
+2851
+1008
+10772
+10417
+17257
+19706
+21757
+27627
+13514
+4631
+19162
+1138
+6325
+22136
+12944
+16124
+12359
+25197
+13024
+13459
+31896
+4661
+12648
+24619
+29975
+2417
+30526
+9880
+32733
+19252
+25646
+12851
+25535
+22792
+21622
+25256
+9785
+11252
+23999
+22965
+10221
+32537
+754
+6831
+11892
+4420
+12472
+20903
+18420
+14968
+17626
+25366
+27811
+6781
+15767
+19341
+28487
+28252
+1225
+31467
+10531
+29736
+12770
+11237
+26065
+9298
+9389
+4413
+25708
+4222
+206
+1952
+16927
+17411
+19671
+23966
+21346
+5232
+26240
+11465
+24782
+20600
+18201
+4713
+32313
+4899
+14371
+11307
+5277
+2022
+14443
+14631
+28140
+23499
+3955
+7565
+18082
+28583
+26049
+11652
+27835
+5415
+29742
+8307
+8380
+20582
+5376
+28696
+762
+6860
+8829
+3579
+2620
+14623
+26606
+31027
+8334
+5654
+15247
+25230
+8096
+1998
+11131
+25257
+31275
+18099
+22294
+9458
+17779
+22216
+4149
+22198
+172
+23793
+30710
+4351
+9939
+13985
+11652
+59
+26587
+9059
+26071
+20826
+3493
+32165
+10983
+29045
+28704
+29635
+19259
+15806
+15124
+18009
+20333
+17020
+1086
+13690
+32368
+14632
+15249
+31064
+18941
+9348
+9006
+31486
+4229
+26282
+24749
+11214
+12670
+5822
+23520
+7971
+28458
+28781
+15391
+28848
+1629
+30060
+19100
+27055
+6999
+7166
+31382
+12066
+15730
+23622
+17211
+30853
+15946
+7092
+5278
+14151
+29985
+2197
+3038
+17757
+14821
+11374
+16227
+7657
+29476
+7761
+6718
+5380
+3255
+28899
+507
+21354
+8942
+21928
+17282
+15106
+8035
+17251
+28354
+14675
+16033
+23012
+10270
+3609
+12387
+4083
+22608
+18438
+10363
+31842
+25456
+2993
+12567
+12285
+10847
+4036
+25889
+2263
+7521
+8246
+27332
+6281
+5934
+2057
+24322
+22014
+18625
+17420
+11120
+4933
+18486
+9201
+22355
+20027
+14665
+6106
+16764
+1955
+2674
+24517
+23913
+20392
+16961
+25273
+5622
+29187
+20339
+11895
+10335
+9094
+20758
+14115
+44
+29610
+29161
+14578
+30088
+22551
+9064
+19533
+428
+27047
+210
+7836
+24192
+18636
+32533
+4747
+1086
+23230
+6341
+31606
+8201
+29138
+28172
+11305
+1387
+25794
+23095
+2600
+1452
+8294
+15374
+31146
+18513
+11
+7897
+30819
+31
+11752
+32591
+27803
+26885
+7667
+31592
+10244
+24349
+17836
+25237
+21489
+9578
+6322
+5457
+15157
+15541
+19222
+12621
+21554
+22651
+12729
+10582
+10290
+10887
+23746
+26686
+1585
+10165
+31947
+19779
+15980
+20878
+28201
+26455
+10696
+19505
+29741
+1935
+2223
+28124
+17789
+24280
+25012
+11103
+6445
+10182
+22947
+31249
+12870
+25620
+9034
+28337
+17508
+12857
+32045
+23453
+18922
+29958
+13095
+27482
+1809
+13962
+15407
+23537
+28052
+24819
+7332
+29319
+11951
+7396
+0
+24126
+1573
+15203
+1194
+31509
+19366
+23180
+21698
+24946
+14946
+8384
+30229
+10099
+5060
+23938
+12575
+7220
+29396
+25422
+22865
+3935
+31126
+14275
+9741
+25019
+26108
+8997
+29459
+5595
+14307
+22680
+13453
+23456
+1218
+889
+11412
+22111
+15488
+16512
+24954
+25449
+14049
+10795
+6430
+7939
+23312
+8849
+4246
+3910
+3920
+8279
+29146
+23176
+29495
+22478
+22801
+15464
+1404
+24320
+9644
+24047
+6372
+25831
+10546
+25452
+162
+12526
+10816
+2805
+12098
+18199
+22284
+2588
+632
+23869
+9515
+18597
+5439
+11016
+19721
+14495
+5671
+3879
+9479
+13968
+25634
+12409
+8940
+1133
+25751
+6666
+19636
+3114
+18339
+27366
+24370
+31234
+24247
+27662
+16433
+9814
+13447
+20513
+18877
+26999
+18659
+27305
+15751
+17192
+11982
+31198
+11367
+20537
+6868
+9125
+26707
+28962
+4645
+22880
+29957
+21981
+29763
+10879
+15307
+21373
+652
+471
+6426
+15176
+11717
+8774
+21421
+22152
+11363
+21204
+8266
+30627
+3237
+17767
+9548
+31154
+26199
+11867
+2590
+508
+5685
+9562
+4680
+3527
+21332
+29853
+4331
+26626
+5804
+8806
+30680
+11836
+2053
+13250
+18750
+12811
+3459
+18921
+14531
+11448
+4381
+19024
+7032
+10599
+19932
+23346
+21110
+31736
+5792
+10309
+407
+6914
+19374
+11265
+15050
+30440
+14511
+16243
+19207
+25865
+3421
+8436
+17959
+30839
+28976
+22855
+1350
+5242
+4582
+19248
+4215
+10734
+29691
+1157
+5396
+5088
+30686
+24674
+29795
+20935
+12005
+1845
+20897
+25337
+27343
+27057
+11172
+23295
+28899
+2790
+15386
+30010
+3736
+22563
+13654
+32418
+3320
+9260
+4893
+1352
+897
+24116
+27410
+7866
+32310
+19354
+2760
+3243
+30622
+26854
+1810
+28332
+6230
+2049
+10362
+12110
+19718
+1304
+17994
+19655
+16923
+9017
+17840
+19894
+9328
+22423
+11185
+18453
+985
+14984
+31486
+2702
+7584
+20132
+5354
+22683
+27453
+15499
+8065
+9823
+29909
+31059
+23496
+32412
+31828
+3667
+13160
+5790
+11816
+31151
+6194
+16912
+20180
+32485
+10858
+28523
+9886
+10689
+1200
+26441
+2446
+10208
+4201
+649
+19694
+21476
+30880
+8900
+9817
+19507
+27582
+16013
+27193
+4177
+29851
+5791
+22262
+28816
+8540
+23328
+26992
+28046
+19652
+2195
+2694
+5634
+7430
+6356
+25759
+17606
+25591
+9758
+17330
+7393
+20057
+31341
+24765
+29760
+20556
+31406
+24439
+16953
+30044
+8448
+19044
+15593
+11764
+10639
+10535
+7469
+13865
+1039
+11436
+1319
+4999
+17500
+13796
+24842
+29723
+24282
+27361
+30792
+32410
+23984
+1667
+8323
+8491
+13317
+388
+9755
+28091
+19517
+29286
+23245
+4345
+9550
+18217
+31425
+17815
+6570
+7935
+6310
+550
+11700
+23011
+25532
+6854
+103
+6814
+15256
+6215
+122
+32352
+10646
+641
+4857
+16185
+26396
+6434
+14595
+6690
+29538
+25092
+16330
+15523
+5603
+8869
+19911
+4792
+12133
+27733
+23723
+32383
+1051
+10146
+8913
+6907
+4710
+6920
+27069
+15176
+17705
+13502
+17262
+7841
+12984
+29694
+21297
+2230
+10199
+24639
+9762
+9313
+5847
+18081
+9873
+14930
+5548
+953
+4307
+24255
+3720
+22293
+18312
+21097
+15784
+60
+4343
+2003
+26727
+26292
+24345
+6251
+28117
+25523
+15836
+31525
+32079
+8277
+31309
+8216
+15472
+9717
+10462
+10504
+27278
+12602
+13757
+11568
+26986
+22193
+18985
+334
+11
+675
+23098
+13090
+10232
+24131
+24210
+32671
+23747
+9766
+13959
+30837
+8515
+31295
+2313
+24877
+10020
+30433
+22083
+3478
+7941
+18436
+14792
+17040
+12004
+13669
+15490
+16678
+23356
+28066
+26871
+25077
+23461
+21786
+27509
+27367
+14961
+2380
+1662
+32487
+19835
+6455
+15376
+614
+9477
+10695
+28054
+28624
+31433
+17214
+30103
+22748
+32392
+26740
+20452
+19781
+17204
+18886
+2597
+16593
+833
+32064
+17379
+17717
+25184
+19581
+19423
+26962
+23824
+25178
+12322
+15802
+17619
+10654
+32343
+17037
+25858
+17284
+20361
+31406
+28206
+17839
+8121
+29850
+28389
+17970
+11480
+16044
+27103
+32676
+9884
+7189
+18612
+27375
+13011
+25248
+8624
+27167
+16913
+17033
+28474
+8431
+28770
+32216
+18027
+25686
+1292
+5509
+6894
+12620
+21287
+24917
+26323
+28448
+23047
+12968
+24616
+3809
+29518
+9663
+24553
+29202
+14835
+21220
+6785
+12761
+21624
+19053
+25295
+15607
+15236
+30405
+13704
+5130
+29608
+26410
+15114
+19041
+21133
+467
+24536
+10935
+2035
+14883
+8947
+22955
+13146
+9581
+29738
+19553
+7607
+125
+25092
+5985
+7843
+1713
+10628
+25470
+10901
+19348
+14538
+29719
+15625
+18293
+1742
+4258
+18738
+16429
+3453
+21625
+30091
+18119
+32643
+4672
+27135
+2571
+3211
+9096
+24942
+14666
+21660
+28962
+8376
+27399
+15822
+31049
+24155
+20515
+1979
+16109
+4627
+21804
+30092
+334
+18524
+11833
+20560
+28614
+29904
+21991
+23488
+20411
+11622
+15031
+2605
+21713
+7213
+7527
+11539
+27664
+26088
+569
+4311
+20104
+28409
+20140
+19522
+9077
+10930
+18157
+16787
+25216
+31867
+15602
+23801
+7375
+126
+9909
+32501
+19906
+19960
+7843
+8081
+9047
+22998
+5138
+21896
+32155
+32038
+291
+26500
+17796
+3376
+5274
+17693
+16263
+1929
+27670
+17073
+4405
+31778
+14877
+27450
+32036
+32068
+18642
+30320
+25415
+9179
+13420
+22419
+11277
+9943
+11543
+2342
+18245
+21913
+28469
+14693
+27338
+15644
+18322
+2936
+12075
+26487
+32264
+7399
+14240
+15771
+24509
+18825
+24192
+31505
+26939
+30511
+461
+1128
+112
+24820
+1294
+11189
+20272
+8069
+12934
+9509
+19741
+29200
+15054
+28557
+25545
+16865
+27595
+9225
+28484
+31668
+5411
+23119
+10962
+27218
+25619
+29940
+3622
+1066
+11964
+31472
+20788
+23492
+24322
+8570
+11716
+22958
+29473
+16120
+23711
+6619
+19457
+29281
+27719
+244
+23114
+28056
+26593
+9480
+27710
+31837
+32069
+4026
+9879
+9042
+32608
+6795
+27340
+6852
+883
+20682
+18656
+7122
+15695
+13991
+16284
+29566
+6121
+6020
+31946
+29874
+31744
+1946
+22451
+25898
+23162
+9393
+3941
+3448
+32753
+22040
+29576
+14181
+5697
+22569
+11246
+21344
+2891
+13406
+24146
+390
+10703
+8579
+25655
+2793
+4943
+30009
+9639
+18977
+24143
+18134
+19731
+14156
+1232
+8084
+383
+30027
+15069
+9746
+1381
+778
+25038
+28997
+11532
+13229
+23991
+28602
+28324
+28633
+21528
+13926
+7710
+4674
+28146
+31878
+30140
+24761
+26088
+10278
+9298
+19222
+26857
+23429
+19972
+14196
+27217
+12954
+30148
+17750
+19522
+21466
+21660
+11011
+32207
+22585
+14840
+3521
+10587
+22146
+4859
+17064
+31390
+28883
+23549
+28312
+116
+5260
+19196
+6555
+22381
+29286
+19461
+9586
+10974
+5676
+32061
+26244
+1874
+19439
+5705
+20417
+25687
+23385
+29016
+3201
+5790
+15781
+21509
+19756
+23127
+23924
+10464
+22550
+26144
+29604
+20089
+11870
+16496
+20640
+27227
+22890
+23413
+7918
+22186
+30532
+23574
+1646
+25828
+315
+31698
+13637
+31893
+25564
+13690
+14596
+32347
+23953
+1829
+19971
+23093
+5300
+29371
+10063
+1129
+21488
+22779
+8333
+24487
+27310
+30552
+21547
+723
+10370
+13546
+4082
+8682
+13208
+5546
+31993
+27919
+16801
+20501
+20527
+4578
+20495
+23257
+5340
+21509
+26646
+19661
+26958
+13559
+419
+11644
+26349
+32524
+11124
+31548
+26106
+15439
+13550
+17329
+17758
+19741
+1020
+17659
+29331
+18736
+6154
+26313
+28267
+2627
+29486
+29044
+5708
+5702
+31775
+7941
+9466
+30057
+7336
+2555
+28935
+12294
+4047
+13739
+15228
+30671
+25563
+4206
+21361
+22280
+475
+6302
+20412
+26433
+952
+26151
+20481
+19452
+18371
+8940
+20951
+17110
+13156
+4703
+31059
+25482
+7312
+3673
+17124
+18114
+4580
+17464
+1390
+20398
+31910
+10008
+26001
+27332
+16160
+4857
+24098
+13238
+13060
+3120
+24159
+29069
+10728
+28482
+5384
+3942
+7447
+6547
+19071
+3039
+13274
+20428
+9912
+18337
+19645
+22585
+24266
+16901
+2802
+14553
+30885
+30400
+32399
+6435
+29473
+20710
+28030
+8862
+1808
+27159
+18300
+31619
+11378
+7340
+338
+27066
+27540
+24851
+23453
+30335
+11332
+27409
+25216
+6464
+3600
+31313
+6494
+17896
+19375
+2169
+30255
+10571
+22434
+1402
+12939
+6410
+1089
+1078
+14455
+23491
+3051
+4024
+6072
+28925
+19218
+11802
+23003
+4122
+23330
+21650
+1085
+1812
+31021
+11195
+17798
+11999
+23012
+15104
+10956
+890
+24979
+9399
+16561
+432
+7010
+5096
+5997
+20666
+10967
+11989
+24193
+14253
+28125
+1741
+11372
+14820
+1120
+31350
+11628
+25363
+17657
+3996
+2792
+22729
+7050
+10487
+10522
+13410
+17034
+5294
+26133
+5995
+20262
+1747
+18778
+26293
+17222
+23151
+28805
+28665
+4636
+14509
+11355
+12011
+7781
+21985
+29915
+29324
+6290
+15154
+29132
+11290
+522
+5120
+20375
+25145
+11202
+29750
+15947
+26516
+22990
+7319
+20231
+10644
+27608
+21434
+32345
+18927
+6568
+9749
+31987
+23632
+21696
+9666
+2040
+2134
+2242
+5559
+27430
+20952
+192
+31554
+18837
+11816
+30277
+25451
+21547
+2541
+25816
+29475
+16232
+1700
+19817
+21906
+14691
+12591
+18044
+8909
+25202
+27953
+23172
+22914
+6804
+14234
+12636
+20760
+21866
+31846
+17844
+20014
+21902
+15389
+24169
+29553
+14032
+16076
+5035
+25992
+25029
+4317
+16615
+20427
+24495
+11357
+12509
+8751
+24526
+11103
+6514
+27064
+23387
+25860
+7862
+29519
+32038
+5185
+30944
+24886
+17154
+31396
+30740
+8150
+27337
+28106
+8701
+16534
+32519
+25090
diff --git a/tools/perf/tests/shell/tools/coresight/bubble_sort/small_array.txt b/tools/perf/tests/shell/tools/coresight/bubble_sort/small_array.txt
new file mode 100644
index 000000000000..d351c8437d0a
--- /dev/null
+++ b/tools/perf/tests/shell/tools/coresight/bubble_sort/small_array.txt
@@ -0,0 +1,10 @@
+11637
+3799
+23116
+15091
+13022
+15840
+27029
+27563
+25641
+28703
--
2.32.0