Proxmox P and E Cores Microcode Patch Update
In running home lab environments, many are looking at mini PCs that are available to stand up and use as a home server or home lab environment. Intel-equipped variants generally have the new “hybrid” architecture that includes the configuration of performance and efficient cores (P and E cores). With this being the case, a few little quirks can come from running hypervisors on top of the hybrid processors.
Table of contents
What are Performance and Efficient cores (P and E cores)?
Intel’s architecture is sometimes called the “big little” architecture. It has two different types of cores: performance cores (P cores) and Efficiency cores (E cores). Each is designed for a different type of task.
The P cores are designed for the most demanding tasks that require “performance” over efficiency. These types of cores are generally desirable for content creation, gaming, and other power-user tasks.
As mentioned, the E cores are designed to handle background tasks that don’t require the outright performance needed for other types of tasks. They are geared towards better power efficiency and help optimize battery life when full performance isn’t needed.
This hybrid design helps to balance performance and efficiency that can adapt to the specific type of work being done.
ntel’s innovative processor architecture includes two distinct types of CPU cores: Performance cores (P-cores) and Efficiency cores (E-cores). P-cores are designed to maximize performance for demanding tasks, delivering high speeds and powerful processing capabilities ideal for gaming, content creation, and other intensive applications. In contrast, E-cores are engineered to handle background tasks and less demanding applications with greater power efficiency, optimizing battery life and overall system responsiveness when full power isn’t necessary. This hybrid approach allows Intel processors to provide a balanced combination of high performance and energy efficiency, adapting dynamically to the computing load by utilizing the appropriate cores.
Quirks and issues
There are noted quirks with hypervisors and the P and E core design. While this blog post is centered around Proxmox, other hypervisors have problems with the P-core and E-core designs. VMware vSphere is noted as having issues with this.
You have to enter a boot parameter to avoid a purple screen of death with VMware ESXi as follows:
cpuUniformityHardCheckPanic=FALSE
Proxmox Microcode update for using P and E Cores
I was intrigued when I watched Craft Computing’s coverage of running Proxmox on an Intel hybrid P and E core chip and some guidance that was relayed to Jeff on applying a microcode update for your Proxmox installation to help with stability in running workloads in Proxmox with P and E Cores.
As a note, Linux does support P and E cores. So, I would suggest you test the stability of your Proxmox installation and running VMs to see how stable these are before applying any microcode updates. But, I do want to shed light on this topic as being a workaround for stability issues if encountered with your Proxmox installation on Intel hybrid processors.
Below are the instructions for installing the microcode update on your Proxmox 8.1.x installation:
Microcode Install Instructions
First, Install Proxmox 8.1. Next, you will add non-free-firmware to debian repo in sources.list
Edit the /etc/apt/sources.list file. Add non-free-firmware to the 1st line so it looks like this
deb http://ftp.debian.org/debian bookworm main contrib non-free-firmware
Save Changes
Next, run the following command
apt clean && apt update
Now, we are ready to install the microcode patch:
apt install intel-microcode
You will need to confirm the installation.
Reboot, and the microcode patch should apply automatically.
You can check what microcode you are running after reboot by running the command:
grep 'stepping|model|microcode' /proc/cpuinfo
Wrapping up
If you have issues with stability on Proxmox with P-cores and E-cores, this Proxmox P and E Cores Microcode Patch Update should provide a fix that will drastically improve the stability if not resolve it altogether.