On 10/20/2016 10:11 AM, Andrew Cooper wrote: > On 20/10/16 14:55, Kyle Huey wrote: >>>> That said, rr currently does not work in Xen guests due to some PMU >>>> issues that we haven't tracked down yet. >>> Is this RR trying to use vPMU and it not functioning, or not >>> specifically trying to use PMU facilities and getting stuck anyway? >> The latter. rr relies on the values returned by the PMU (the retired >> conditional branches counter in particular) being exactly the same >> during the recording and replay phases. This is true when running on >> bare metal, and when running inside a KVM guest, but when running in a >> Xen HVM guest we see values that are off by a branch or two on a small >> fraction of our tests. Since it works in KVM I suspect this is some >> sort of issue with how Xen multiplexes the real PMU and events are >> "leaking" between guests (or perhaps from Xen itself, though I don't >> think the Xen kernel executes any ring 3 code). Even if that's >> correct we're a long way from tracking it down and patching it though. > Hmm. That is unfortunate, and does point towards a bug in Xen. Are > these tests which notice the problem easy to run? > > Boris (CC'd) is the maintainer of that code. It has undergone quite a > few changes recently.
I am actually not the maintainer, I just break this code more often than others. But yes, having a test case would make it much easier to understand what and why is not working. Would something like wrmsr(PERFCTR,0); wrmsr(EVNTSEL, XXX); //enable counter // do something simple, with branches wrmsr(EVTSEL,YYY); // disable counter demonstrate the problem? (I assume we are talking about HVM guest) -boris _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org https://lists.xen.org/xen-devel