Re: [PATCH v9 0/8] Parallel CPU bringup for x86_64

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



David!

On Thu, Feb 23 2023 at 11:07, David Woodhouse wrote:
> On Wed, 2023-02-22 at 17:42 +0100, Thomas Gleixner wrote:
>> The low hanging fruit which brings most is the identification/topology
>> muck and the microcode loading. That needs to be addressed first anyway.
>
> Agreed, thanks.

So the problem with microcode loading is that we must ensure that a HT
sibling is not executing anything else than a trivial loop waiting for
the update to complete. So something like this should work:

   1) Kick all CPUs into life and let them run up to cpu_init() and
      retrieve only the topology information.

   2) Wait for all CPUs to reach this point

   3) Release all primary HT threads so they can load microcode in
      parallel. The secondary HT threads stay in the wait loop and are
      released once the primary thread has finished the microcode
      update.

   4) Let the CPUs do the full CPUID readout and let them synchronize
      with the control CPU again.

   5) Complete bringup one by one

Thanks,

        tglx
      


   





[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux