On 02/22/21 08:08, Tiger Liu(BJ-RD) wrote:
> Dear All:
> I have a question about MP Services Protocol.
> Does it support Hyper-threading technology?
>
> For example:
> A Quad-cores CPU(with HT feature support), actually it is equal to 8 logical cores.
> Take assumption 8 logical cores are all healthy and being enabled.
>
> So:
>
> 1. Will EFI_MP_SERVICES_PROTOCOL.GetNumberOfProcessors()return total 8 logical processor cores?
>
> 2. Will EFI_MP_SERVICES_PROTOCOL.StartupAllAPs() make all 8 logical cores do some tasks simultaneously?
My understanding is "yes", to both questions. Most of the MP stuff deals
with "logical processors".
BTW, if you check the EFI_MP_SERVICES_GET_PROCESSOR_INFO prototype, it
outputs EFI_PROCESSOR_INFORMATION. The latter has the following fields:
EFI_CPU_PHYSICAL_LOCATION Location;
EXTENDED_PROCESSOR_INFORMATION ExtendedInformation;
The former gives you a package/core/thread identification for a
particular processor number. The latter (optionally) provides a 6-level
description (package / module / tile / die / core / thread). In each
information structure, "logical thread" is the finest granularity
information.
hth
Laszlo