On 27/09/19 17:55, Jim Mattson wrote: >> "KVM_GET_MSR_INDEX_LIST returns the guest msrs that are supported. The list >> varies by kvm version and host processor, but does not change otherwise." >> >> So it seems that PMU MSRs just can't be there. Revert? > > The API design is unfortunate, but I would argue that any MSR that a > guest *might* support has to be in this list for live migration to > work with the vPMU enabled. In theory yes, in practice this breaks any userspace that (such as state_test) blindly takes the list and passes it to KVM_GET_MSR. > I don't know about qemu, but Google's > userspace will only save/restore MSRs that are in this list Almost, there are a few MSRs that it saves/restores always (TSC, kvmclock, MTRR, PAT, sysenter CS/ESP/EIP, and on 64-bit machines CSTAR/KERNELGSBASE/FMASK/LSTAR) and some where it compiles the list fom KVM_GET_SUPPORTED_CPUID information (the PMU and processor tracing). Of these, PMU and processor tracing seem to be the only one that vary per VM. So yeah, it needs to be reverted I suppose. Paolo