With Advanced Performance Extensions (APX) on upcoming Intel processors doubling the number of general purpose registers (GPRs) among other advantages, Intel engineers are beginning to think of possible kernel uses for the extra registers.
To date there hasn’t been much thought given to kernel uses for these extra registers with the enablement thus far of APX primarily focused on user-space software. There is some thinking that these EGPRs (Extended General Purpose Registers) may be useful to help reduce kernel stack pressure. But it also needs to be decided among kernel developers just how much they plan to these extra registers for knowing the best design for how to handle their use in sharing with user-space. Plus needing to keep assuming APX is optional for x86_64 Linux, maintaining legacy register use, etc.
Intel engineer Chang S. Bae began formalizing the discussion today over the in-kernel use for these EGPRs. Bae suggests a staged option could begin with self-contained libraries or performance-critical paths and to then expand from there as more processors become available.
As part of the discussion is a patch for using the EGPRs in the kernel’s 64-bit checksum copy loop as a possible first-use.
See this LKML thread for those interested in following the discussion about how the Linux kernel could the extended general purpose registers to be found with upcoming Intel processors.
