perf/x86: Support filter_match callback

Implement filter_match callback for X86, which check whether an event is
schedulable on the current CPU.

Signed-off-by: Kan Liang <kan.liang@linux.intel.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Andi Kleen <ak@linux.intel.com>
Link: https://lkml.kernel.org/r/1618237865-33448-20-git-send-email-kan.liang@linux.intel.com
This commit is contained in:
Kan Liang 2021-04-12 07:30:59 -07:00 committed by Peter Zijlstra
parent 58ae30c29a
commit 3e9a8b219e
2 changed files with 11 additions and 0 deletions

View File

@ -2641,6 +2641,14 @@ static int x86_pmu_aux_output_match(struct perf_event *event)
return 0;
}
static int x86_pmu_filter_match(struct perf_event *event)
{
if (x86_pmu.filter_match)
return x86_pmu.filter_match(event);
return 1;
}
static struct pmu pmu = {
.pmu_enable = x86_pmu_enable,
.pmu_disable = x86_pmu_disable,
@ -2668,6 +2676,8 @@ static struct pmu pmu = {
.check_period = x86_pmu_check_period,
.aux_output_match = x86_pmu_aux_output_match,
.filter_match = x86_pmu_filter_match,
};
void arch_perf_update_userpage(struct perf_event *event,

View File

@ -879,6 +879,7 @@ struct x86_pmu {
int (*aux_output_match) (struct perf_event *event);
int (*filter_match)(struct perf_event *event);
/*
* Hybrid support
*