Hi Aman, [- Andrew] On Tue, 15 Jun 2021 16:15:28 +0100, Aman Priyadarshi <apeureka@xxxxxxxxx> wrote: > > Hey, > > I have been chasing down a regression on guest side related to pmu cycle > counters, and I found that reverting these two patches help: > > - 30d97754b2d1 ("KVM: arm/arm64: Re-create event when setting counter > value") > - 8c3252c06516 ("KVM: arm64: pmu: Reset sample period on overflow > handling") > > However, I do not yet fully understand the underlying problem. > > Regression can be reproduced by running simple userspace processes > consuming 100% of cpus and checking the number of pmu cycles. > > ``` > $ cat foo.c > #include <stdio.h> > > int main() > { > while (1) ; > return 0; > } > > > $ gcc -o foo foo.c > $ for x in {0..63}; do ./foo & done > $ sudo perf stat -A -a -e cpu-clock:pppH,cycles -- sleep 10 > CPU0 22,397,323,233 cycles # 2.240 GHz > CPU1 6,444,741,327 cycles # 0.644 GHz > CPU2 17,029,444,425 cycles # 1.703 GHz > CPU3 4,298,054,663 cycles # 0.430 GHz > CPU4 6,444,769,216 cycles # 0.644 GHz > CPU5 6,045,456,891 cycles # 0.605 GHz > CPU6 4,298,204,814 cycles # 0.430 GHz > CPU7 6,444,346,686 cycles # 0.644 GHz > CPU8 4,298,012,726 cycles # 0.430 GHz > CPU9 6,445,547,392 cycles # 0.645 GHz > CPU10 4,297,996,144 cycles # 0.430 GHz > ... > ``` > > Expected behavior is to have all cores around 2.5GHz on all CPUs given that > all CPUs are 100% in the guest. > > The nonsensical values reported by the pmu counters is only observed on > certain combination of host and guest kernel. > > I was able to reproduce it on v5.4.34 and v5.13.0-rc5 running on the host > side, and 4.14.10 on the guest side. > > I am running Ubuntu 18.04 cloud image with 4.14.10 kernel headers > installed: > > https://cloud-images.ubuntu.com/releases/bionic/release/ubuntu-18.04-server-cloudimg-arm64.img > > Note, cloud image comes with 4.15.y kernel installed, which does not show > any regression. Can you reproduce the issue with vanilla guest kernels? It'd be interesting to understand what makes it work on the guest side. Can you please bisect it? Thanks, M. -- Without deviation from the norm, progress is not possible. _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/mailman/listinfo/kvmarm