This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: Intel microcode update and glibc HLE
- From: Josh Boyer <jwboyer at fedoraproject dot org>
- To: Siddhesh Poyarekar <siddhesh at redhat dot com>
- Cc: libc-alpha <libc-alpha at sourceware dot org>, "Carlos O'Donell" <carlos at redhat dot com>
- Date: Fri, 26 Sep 2014 14:28:13 -0400
- Subject: Re: Intel microcode update and glibc HLE
- Authentication-results: sourceware.org; auth=none
- References: <20140926180900 dot GW1716 at spoyarek dot pnq dot redhat dot com>
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