Skip to content

Commit b8328f6

Browse files
Kan LiangPeter Zijlstra
authored andcommitted
perf/x86/intel: Remove driver-specific throttle support
The throttle support has been added in the generic code. Remove the driver-specific throttle support. Besides the throttle, perf_event_overflow may return true because of event_limit. It already does an inatomic event disable. The pmu->stop is not required either. Signed-off-by: Kan Liang <[email protected]> Signed-off-by: Peter Zijlstra (Intel) <[email protected]> Link: https://lore.kernel.org/r/[email protected]
1 parent e800ac5 commit b8328f6

File tree

5 files changed

+8
-14
lines changed

5 files changed

+8
-14
lines changed

arch/x86/events/core.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1728,8 +1728,7 @@ int x86_pmu_handle_irq(struct pt_regs *regs)
17281728

17291729
perf_sample_save_brstack(&data, event, &cpuc->lbr_stack, NULL);
17301730

1731-
if (perf_event_overflow(event, &data, regs))
1732-
x86_pmu_stop(event, 0);
1731+
perf_event_overflow(event, &data, regs);
17331732
}
17341733

17351734
if (handled)

arch/x86/events/intel/core.c

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3138,8 +3138,7 @@ static void x86_pmu_handle_guest_pebs(struct pt_regs *regs,
31383138
continue;
31393139

31403140
perf_sample_data_init(data, 0, event->hw.last_period);
3141-
if (perf_event_overflow(event, data, regs))
3142-
x86_pmu_stop(event, 0);
3141+
perf_event_overflow(event, data, regs);
31433142

31443143
/* Inject one fake event is enough. */
31453144
break;
@@ -3282,8 +3281,7 @@ static int handle_pmi_common(struct pt_regs *regs, u64 status)
32823281
if (has_branch_stack(event))
32833282
intel_pmu_lbr_save_brstack(&data, cpuc, event);
32843283

3285-
if (perf_event_overflow(event, &data, regs))
3286-
x86_pmu_stop(event, 0);
3284+
perf_event_overflow(event, &data, regs);
32873285
}
32883286

32893287
return handled;

arch/x86/events/intel/ds.c

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2359,8 +2359,7 @@ __intel_pmu_pebs_last_event(struct perf_event *event,
23592359
* All but the last records are processed.
23602360
* The last one is left to be able to call the overflow handler.
23612361
*/
2362-
if (perf_event_overflow(event, data, regs))
2363-
x86_pmu_stop(event, 0);
2362+
perf_event_overflow(event, data, regs);
23642363
}
23652364

23662365
if (hwc->flags & PERF_X86_EVENT_AUTO_RELOAD) {
@@ -2588,8 +2587,8 @@ static void intel_pmu_drain_pebs_nhm(struct pt_regs *iregs, struct perf_sample_d
25882587
if (error[bit]) {
25892588
perf_log_lost_samples(event, error[bit]);
25902589

2591-
if (iregs && perf_event_account_interrupt(event))
2592-
x86_pmu_stop(event, 0);
2590+
if (iregs)
2591+
perf_event_account_interrupt(event);
25932592
}
25942593

25952594
if (counts[bit]) {

arch/x86/events/intel/knc.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -254,8 +254,7 @@ static int knc_pmu_handle_irq(struct pt_regs *regs)
254254

255255
perf_sample_data_init(&data, 0, last_period);
256256

257-
if (perf_event_overflow(event, &data, regs))
258-
x86_pmu_stop(event, 0);
257+
perf_event_overflow(event, &data, regs);
259258
}
260259

261260
/*

arch/x86/events/intel/p4.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1072,8 +1072,7 @@ static int p4_pmu_handle_irq(struct pt_regs *regs)
10721072
continue;
10731073

10741074

1075-
if (perf_event_overflow(event, &data, regs))
1076-
x86_pmu_stop(event, 0);
1075+
perf_event_overflow(event, &data, regs);
10771076
}
10781077

10791078
if (handled)

0 commit comments

Comments
 (0)