Linux OS Identifies CPU as Skylake Despite EVC Mode Configured for Ice Lake.
search cancel

Linux OS Identifies CPU as Skylake Despite EVC Mode Configured for Ice Lake.

book

Article ID: 380951

calendar_today

Updated On:

Products

VMware vSphere ESXi VMware vCenter Server

Issue/Introduction

In environments using Enhanced vMotion Compatibility (EVC) mode on VMware, users may observe that the Linux OS Performance Monitoring Unit (PMU) reports an earlier CPU generation than expected based on the EVC mode setting. For example, with EVC mode configured to Ice Lake, Linux may still identify the CPU as Skylake.

Environment

VMware vCenter Server

Cause

This occurs because the Ice Lake EVC mode mistakenly sets the CPU ID model value to Skylake (0x55) rather than the correct Ice Lake model (0x6A). Consequently, Linux displays Skylake in the pmu_name for a VM powered on with an Ice Lake EVC mode.

In Linux, the /sys/devices/cpu/caps/pmu_name attribute reports the CPU’s microarchitecture, which is helpful for determining which performance monitoring counters (PMCs) are available. This microarchitecture-level identification allows Linux to group CPUs with the same foundational design under a single name, such as “Skylake,” even if there are version differences, like Skylake and Cascade Lake. By focusing on the microarchitecture, Linux enables quick compatibility checks for performance monitoring features across CPUs that share core architectural characteristics.

Resolution

VMware by Broadcom, however, takes a different approach by identifying CPUs at the version level, considering both the model and stepping. This allows VMware to distinguish between CPUs that, while architecturally similar, have specific enhancements or optimizations, such as Cascade Lake’s additional instructions over Skylake. Two CPUs may share the same microarchitecture (as reflected in Linux’s pmu_name) but will have different CPU names in VMware (e.g., Skylake vs. Cascade Lake). This version-based naming is particularly useful in virtualization and workload management, where even slight CPU variations can impact compatibility and performance.
This distinction helps explain why Linux identifies Cascade Lake as “Skylake” in pmu_name, while VMware treats them as distinct.

Unfortunately, it is not possible to modify a shipped EVC mode. Linux identifies CPUs by their microarchitecture (pmu_name), grouping them by core design rather than specific version or stepping, leading to this display behavior.