Merge remote-tracking branch 'origin/master' into perf/core
Further perf/core patches will depend on:
d3f7b1bb20
("mm/gup: fix gup_fast with dynamic page table folding")
which is already in Linus' tree.
This commit is contained in:
@ -1557,9 +1557,16 @@ nocheck:
|
||||
ret = 0;
|
||||
out:
|
||||
if (has_branch_stack(event)) {
|
||||
power_pmu_bhrb_enable(event);
|
||||
cpuhw->bhrb_filter = ppmu->bhrb_filter_map(
|
||||
event->attr.branch_sample_type);
|
||||
u64 bhrb_filter = -1;
|
||||
|
||||
if (ppmu->bhrb_filter_map)
|
||||
bhrb_filter = ppmu->bhrb_filter_map(
|
||||
event->attr.branch_sample_type);
|
||||
|
||||
if (bhrb_filter != -1) {
|
||||
cpuhw->bhrb_filter = bhrb_filter;
|
||||
power_pmu_bhrb_enable(event);
|
||||
}
|
||||
}
|
||||
|
||||
perf_pmu_enable(event->pmu);
|
||||
@ -1881,7 +1888,6 @@ static int power_pmu_event_init(struct perf_event *event)
|
||||
int n;
|
||||
int err;
|
||||
struct cpu_hw_events *cpuhw;
|
||||
u64 bhrb_filter;
|
||||
|
||||
if (!ppmu)
|
||||
return -ENOENT;
|
||||
@ -1987,7 +1993,10 @@ static int power_pmu_event_init(struct perf_event *event)
|
||||
err = power_check_constraints(cpuhw, events, cflags, n + 1);
|
||||
|
||||
if (has_branch_stack(event)) {
|
||||
bhrb_filter = ppmu->bhrb_filter_map(
|
||||
u64 bhrb_filter = -1;
|
||||
|
||||
if (ppmu->bhrb_filter_map)
|
||||
bhrb_filter = ppmu->bhrb_filter_map(
|
||||
event->attr.branch_sample_type);
|
||||
|
||||
if (bhrb_filter == -1) {
|
||||
@ -2143,6 +2152,10 @@ static void record_and_restart(struct perf_event *event, unsigned long val,
|
||||
|
||||
if (perf_event_overflow(event, &data, regs))
|
||||
power_pmu_stop(event, 0);
|
||||
} else if (period) {
|
||||
/* Account for interrupt in case of invalid SIAR */
|
||||
if (perf_event_account_interrupt(event))
|
||||
power_pmu_stop(event, 0);
|
||||
}
|
||||
}
|
||||
|
||||
@ -2325,6 +2338,7 @@ int register_power_pmu(struct power_pmu *pmu)
|
||||
pmu->name);
|
||||
|
||||
power_pmu.attr_groups = ppmu->attr_groups;
|
||||
power_pmu.capabilities |= (ppmu->capabilities & PERF_PMU_CAP_EXTENDED_REGS);
|
||||
|
||||
#ifdef MSR_HV
|
||||
/*
|
||||
|
Reference in New Issue
Block a user