Linux 5.5 To Perform Late CPU Microcode Updates In Parallel
Months ago we reported on vendors and cloud providers being interested in restoring parallel CPU microcode updates on Linux for helping large core count servers. With Linux 5.5 that change is coming.
Oracle and other cloud providers have been wanting late CPU microcode updates to be applied in parallel in order to reduce the downtime of systems on servers with many cores. The parallel microcode updating had been dropped in Linux following the Spectre vulnerabilities with a shift to sequential CPU microcode updating. With this revised implementation, updating microcode on multiple CPU cores is done concurrently so as long as only the first thread of each CPU core is updated while any sibling thread waits for the update to complete.
This is about microcode updating being done as "late loading" where the update happens after the system has booted while most Linux desktop users are making use of early loading of microcode updates that is done early in the boot process. For those not doing any late loading of microcode, this change shouldn't impact you.
SUSE's Borislav Petkov wrote in the microcode pull request for Linux 5.5, "The patch remained in linux-next for the maximum amount of time so that any potential and hard to debug fallout be minimized. Now cloud folks have their milliseconds back but all the normal people should use early loading anyway. :-)"
Oracle and other cloud providers have been wanting late CPU microcode updates to be applied in parallel in order to reduce the downtime of systems on servers with many cores. The parallel microcode updating had been dropped in Linux following the Spectre vulnerabilities with a shift to sequential CPU microcode updating. With this revised implementation, updating microcode on multiple CPU cores is done concurrently so as long as only the first thread of each CPU core is updated while any sibling thread waits for the update to complete.
This is about microcode updating being done as "late loading" where the update happens after the system has booted while most Linux desktop users are making use of early loading of microcode updates that is done early in the boot process. For those not doing any late loading of microcode, this change shouldn't impact you.
SUSE's Borislav Petkov wrote in the microcode pull request for Linux 5.5, "The patch remained in linux-next for the maximum amount of time so that any potential and hard to debug fallout be minimized. Now cloud folks have their milliseconds back but all the normal people should use early loading anyway. :-)"
3 Comments