On 24/06/19 00:40, Jiri Olsa wrote: > On Fri, Jun 21, 2019 at 10:48:25AM -0700, Andi Kleen wrote: >> On Fri, Jun 14, 2019 at 01:28:53PM +0200, Jiri Olsa wrote: >>> hi, >>> the HPE server can do POST tracing and have enabled LBR >>> tracing during the boot, which makes check_msr fail falsly. >>> >>> It looks like check_msr code was added only to check on guests >>> MSR access, would it be then ok to disable check_msr for real >>> hardware? (as in patch below) >>> >>> We could also check if LBR tracing is enabled and make >>> appropriate checks, but this change is simpler ;-) >>> >>> ideas? thanks, >>> jirka >> >> Sorry for the late comment. I see this patch has been merged now. >> >> Unfortunately I don't think it's a good idea. The problem >> is that the hypervisor flags are only set for a few hypervisors >> that Linux knows about. But in practice there are many more >> Hypervisors around that will not cause these flags to be set. >> But these are still likely to miss MSRs. >> >> The other hypervisors are relatively obscure, but eventually >> someone will hit problems. > > any idea if there's any other flag/way we could use to detect those?
There's no silver bullet, the best is boot_cpu_has(X86_FEATURE_HYPERVISOR). Paolo