There were two ways of loading the microcode, described as 'early' and 'late'. Early loading happens before userspace has been started, late loading happens after userspace has started. However, late loading is known to be problematic and not supported anymore (see the kernel commit <ulink url="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=d23d33e"> x86/microcode: Taint and warn on late loading</ulink>.)Indeed, early loading is needed to work around one particular erratum in early Intel Haswell processors which had TSX enabled.(See <ulink url= "https://www.anandtech.com/show/8376/intel-disables-tsx-instructions-erratum-found-in-haswell-haswelleep-broadwelly/"> Intel Disables TSX Instructions: Erratum Found in Haswell, Haswell-E/EP, Broadwell-Y</ulink>.)Without this update glibc can do the wrong thing in uncommon situations.
Il y avait deux façons de charger le microcode, décrites comme « au plus tôt » et « au plus tard ». Le chargement « au plus tôt » arrive avant que l'espace utilisateur ne démarre, le chargement « au plus tard » arrive quand l'espace utilisateur est démarré. Cependant, le chargement au plus tard est problématique et n'est plus pris en charge (voir l commit du noyau noté <ulink url="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=d23d33e">x86/microcode: Taint and warn on late loading</ulink>). En effet, il est nécessaire de contourner une erreur particulière dans les premiers processeurs Intel Haswell qui ont le TSX d'activé. (Voir <ulink url= "https://www.anandtech.com/show/8376/intel-disables-tsx-instructions-erratum-found-in-haswell-haswelleep-broadwelly/">Intel Disables TSX Instructions: Erratum Found in Haswell, Haswell-E/EP, Broadwell-Y</ulink>). Sans cette mise à jour glibc peut produire des erreurs dans des situations particulières.