selftests/powerpc: Update bhrb filter sampling test for multiple branch filters
authorAthira Rajeev <atrajeev@linux.vnet.ibm.com>
Wed, 21 Sep 2022 14:52:55 +0000 (20:22 +0530)
committerMichael Ellerman <mpe@ellerman.id.au>
Wed, 28 Sep 2022 09:22:13 +0000 (19:22 +1000)
For PERF_SAMPLE_BRANCH_STACK sample type, different branch_sample_type,
ie branch filters are supported. The testcase "bhrb_filter_map_test"
tests the valid and invalid filter maps in different powerpc platforms.
Update this testcase to include scenario to cover multiple branch
filters at sametime. Since powerpc doesn't support multiple filters at
sametime, expect failure during perf_event_open.

Reported-by: Disha Goel <disgoel@linux.vnet.ibm.com>
Signed-off-by: Athira Rajeev <atrajeev@linux.vnet.ibm.com>
Reviewed-by: Kajol Jain <kjain@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20220921145255.20972-3-atrajeev@linux.vnet.ibm.com
tools/testing/selftests/powerpc/pmu/sampling_tests/bhrb_filter_map_test.c

index 8182647c63c8705df05b9aa9d4a54855d33b316c..3f43c315c66641f12d034e41745ca10e2fa241af 100644 (file)
@@ -96,6 +96,15 @@ static int bhrb_filter_map_test(void)
                }
        }
 
+       /*
+        * Combine filter maps which includes a valid branch filter and an invalid branch
+        * filter. Example: any ( PERF_SAMPLE_BRANCH_ANY) and any_call
+        * (PERF_SAMPLE_BRANCH_ANY_CALL).
+        * The perf_event_open should fail in this case.
+        */
+       event.attr.branch_sample_type = PERF_SAMPLE_BRANCH_ANY | PERF_SAMPLE_BRANCH_ANY_CALL;
+       FAIL_IF(!event_open(&event));
+
        return 0;
 }