On Tue, Jan 08, 2019 at 11:50:59AM +0000, Marc Zyngier wrote: > On Tue, 08 Jan 2019 11:25:13 +0000, > Andrew Murray <andrew.murray@xxxxxxx> wrote: > > Hi Andrew, > > > My only doubt about this is as follows. If, on a KVM host you run this: > > > > perf stat -e cycles:H lkvm run ... > > > > then on the VHE host the cycles reported represents the entire non-guest cycles > > associated with running the guest. > > > > On a !VHE, the cycles reported exclude EL2 (with or without this patch) and > > thus you don't get a representation of all the non-guest cycles associated with > > the guest. However without this patch you could at least still run: > > > > perf stat -e cycles:H -e cycles:h lkvm run ... > > > > and then add the two cycle counts together to get something comparative with > > the VHE host. > > > > If the above patch represents the desired semantics, then perhaps we must count > > both EL1 and *EL2* for !exclude_kernel on !VHE. In fact I think we should do > > this anyway and remove a little complexity from armv8pmu_set_event_filter. > > Thoughts? > > I'm not sure we should hide the architectural differences between VHE > and !VHE. If you're trying to measure what is happening at in the > hypervisor, you can't reason about it while ignoring the dual nature > of !VHE. > How do you define hypervisor here? Is that just the code that runs at EL2 or also parts of KVM that runs at EL1? It remains unclear to me why you'd want to measure a subset of KVM, which happens to run in EL2, in your host (and hypervisor-enabled) kernel, and you are even precluded from measuring a comparable portion of your implementation on other Arm systems (VHE). Admittedly, I'm not at export in using perf, but I find this EL1/EL2 distinction out of place as it relates to exlude_kernel, exlude_user, and exlude_hv. Will we have a fourth Arm-specific flag which takes the place of exclude_hv on PowerPC, which excludes an underlying hypervisor when running a guest, should we ever support counting that in the future? Thanks, Christoffer _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/mailman/listinfo/kvmarm