> diff --git a/arch/x86/kvm/pmu.c b/arch/x86/kvm/pmu.c > index 48a0528080ab..8d28158e58f2 100644 > --- a/arch/x86/kvm/pmu.c > +++ b/arch/x86/kvm/pmu.c > @@ -322,7 +322,7 @@ static void reprogram_counter(struct kvm_pmc *pmc) > if (!pmc_event_is_allowed(pmc)) > goto reprogram_complete; > > - if (pmc->counter < pmc->prev_counter) > + if (pmc->counter == 0) > __kvm_perf_overflow(pmc, false); > > if (eventsel & ARCH_PERFMON_EVENTSEL_PIN_CONTROL) > > Since this is software emulation, we (KVM) should only handle overflow > by plusing one? Sign. Please ignore this as it is not only hacky but also not working.