> > It looks Table 2-2 of the Intel SDM Vol4 (April 2021) says > > TSC_AUX is supported: > > > > If CPUID.80000001H:EDX[27] = 1 or CPUID.(EAX=7,ECX=0):ECX[22] = 1 > > > > Should we also check X86_FEATURE_RDPID before returning 1 > > due to no RDTSCP support ? > > Yep. VMX should also clear RDPID if the ENABLE_RDTSCP control isn't supported. > That bug isn't fatal because KVM emulates RDPID on #UD, but it would be a > notieable performance hit for the guest. Thank you so much for the confirmation and the information. Understood. > There is also a kernel bug lurking; vgetcpu_cpu_init() doesn't check > X86_FEATURE_RDPID and will fail to initialize MSR_TSC_AUX if RDPID is supported > but RDTSCP is not, and __getcpu() uses RDPID. I'll verify that's broken and > send a patch for that one too. I don't find vgetcpu_cpu_init() or __getcpu() in https://github.com/torvalds/linux. I would assume you meant setup_getcpu() and vdso_read_cpunode() instead (?). > AMD also documents this in Appendix E: > > CPUID Fn0000_0007_EBX_x0 Structured Extended Feature Identifiers (ECX=0) > Bits Field Name > ... > 22 RDPID RDPID instruction and TSC_AUX MSR support. Thank you. I overlooked that... Regards, Reiji