perf/x86/amd: Don't reject non-sampling events with configured LBR
authorAndrii Nakryiko <andrii@kernel.org>
Tue, 2 Apr 2024 02:21:18 +0000 (19:21 -0700)
committerIngo Molnar <mingo@kernel.org>
Wed, 3 Apr 2024 07:14:26 +0000 (09:14 +0200)
Now that it's possible to capture LBR on AMD CPU from BPF at arbitrary
point, there is no reason to artificially limit this feature to just
sampling events. So corresponding check is removed. AFAIU, there is no
correctness implications of doing this (and it was possible to bypass
this check by just setting perf_event's sample_period to 1 anyways, so
it doesn't guard all that much).

Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Reviewed-by: Sandipan Das <sandipan.das@amd.com>
Link: https://lore.kernel.org/r/20240402022118.1046049-5-andrii@kernel.org
arch/x86/events/amd/lbr.c

index 33d0a45..19c7b76 100644 (file)
@@ -310,10 +310,6 @@ int amd_pmu_lbr_hw_config(struct perf_event *event)
 {
        int ret = 0;
 
-       /* LBR is not recommended in counting mode */
-       if (!is_sampling_event(event))
-               return -EINVAL;
-
        ret = amd_pmu_lbr_setup_filter(event);
        if (!ret)
                event->attach_state |= PERF_ATTACH_SCHED_CB;