Intel microcode update and glibc HLE

Josh Boyer jwboyer@fedoraproject.org
Fri Sep 26 18:28:00 GMT 2014


On Fri, Sep 26, 2014 at 2:09 PM, Siddhesh Poyarekar <siddhesh@redhat.com> wrote:
> Hi,
>
> The microcode_ctl package recently updated itself to include the
> latest intel microcode update that disables HLE.  This is resulting in
> unbootable Haswell systems on Fedora[1] and elsewhere.  The problem
> seems to be that the microcode update is applied a bit late during
> every boot.  Due to this, the kernel has stale CPU capabilities and
> systemd sees HLE enabled before the microcode update is applied.
> Later, HLE is disabled and the next pthread operation in systemd dies
> with a SIGILL.

I was under the impression that the glibc implementation was looking
at the cpuid registers directly for the HLE/RTM support.  If it was
looking at cpuflags then the kernel could have probably hidden this
with a quirk.

> The ideal solution for this would probably be to apply the microcode
> update as early as possible during boot, but things get complicated
> with suspend-resume or hibernate, so it's not very simple.  In Fedora
> we're now rebuilding glibc with elision disabled again since keeping
> it enabled is useless and is currently harmful.

I'll be updating the Fedora kernel and dracut to do early microcode
loading today.  Kyle McMartin looked at the suspend/hibernate-resume
paths and things should work fine with early microcode loading.

Disabling this in glibc on x86 seems fine since nothing will be
capable of using it until newer CPUs are released, but it wasn't
strictly necessary.

josh



More information about the Libc-alpha mailing list