|
@@ -1594,6 +1594,7 @@ static int intel_pmu_handle_irq(struct pt_regs *regs)
|
|
|
|
|
|
loops = 0;
|
|
loops = 0;
|
|
again:
|
|
again:
|
|
|
|
+ intel_pmu_lbr_read();
|
|
intel_pmu_ack_status(status);
|
|
intel_pmu_ack_status(status);
|
|
if (++loops > 100) {
|
|
if (++loops > 100) {
|
|
static bool warned = false;
|
|
static bool warned = false;
|
|
@@ -1608,7 +1609,6 @@ again:
|
|
|
|
|
|
inc_irq_stat(apic_perf_irqs);
|
|
inc_irq_stat(apic_perf_irqs);
|
|
|
|
|
|
- intel_pmu_lbr_read();
|
|
|
|
|
|
|
|
/*
|
|
/*
|
|
* Ignore a range of extra bits in status that do not indicate
|
|
* Ignore a range of extra bits in status that do not indicate
|