Intel processors have long identified in the Family 6 series going back to the 1990s but over the past number of months Intel engineers have been adapting the Linux kernel to prepare for a post Family 6 Intel CPU era for the model/family CPU identification handling. Patches posted in September introduced Diamond Rapids support as the first Intel Family 19 CPU while new patches for the Linux kernel are indicating Intel will be using both Family 18 and Family 19 identification for future processor models.
Sent out this week were a new set of 15 patches in preparing the Linux kernel for new Intel family CPU models. Notable with this patch series containing various clean-ups is it explicitly mentioning the use of “upcoming family 18 and 19 models.”
“—Tl;Dr—
Audit all the Intel family model checks to get ready for the upcoming family 18 and 19 models.
Patches 1-5: Fixes in arch/x86 and drivers
Patches 6-15: Cleanups in arch/x86 to convert x86_model checks to VFM ones.This series does not include cleanups in drivers/
—Background—
Mainstream Intel processors have been using family number 6 for a couple of decades. The last deviation from this were the Netburst architecture based Pentium 4s that had a family number of 15. Intel has recently started to introduce extended family numbers greater than 15. Though newer CPUs can have any family number, the currently planned CPUs lie in families 18 and 19.Some kernel code assumes that the family number would always remain 6. There are checks that apply to recent family 6 models such as Lunar Lake and Clearwater Forest but don’t automatically extend to family 19 models such as Diamond Rapids. This series aims to fix and cleanup all of such Intel specific checks (mainly in arch/x86) to avoid such issues in the future. It also converts almost all of the x86_model checks in arch/x86 to the new VFM ones.
OTOH, x86_model usage in drivers/ is a huge mess. Some drivers might need to be completely rewritten to make them future proof. I have attempted a couple of fixes in cpufreq and hwmon but I am uncertain of their efficacy. A more thorough clean up of drivers is needed to replace all x86_model usage with the new VFM checks.”
Due to Intel relying on “Family 6” for so long, a lot of Intel CPU checks within the kernel need to be adapted. AMD meanwhile for their part have stuck to a given Family for a CPU generation or two before moving on… For example, Zen and Zen 2 were Family 23, Zen 3 and Zen 4 as Family 25, and now Zen 5 introduced Family 26 on the AMD side. So the AMD Linux kernel checks are already more accustom to handling different family IDs.
While Intel has been working on refactoring their model and family checks for the past few months, this new patch series is the first time I believe seeing them confirm both Family 18 and Family 19 are going to be used moving forward… With Diamond Rapids P-core processors ushering in Family 19 from the prior patches, my guess is that perhaps Intel is going to be separating the Family distinction based on the P/E cores… We’ll see if Family 18 becomes reserved for the E core models or how they end up drawing the distinction.
In any event these latest Intel RFC patches can be found for review on the Linux kernel mailing list.