Dear All:
Got it.
Thank you very much.
Thanks
发件人: devel@edk2.groups.io <devel@edk2.groups.io>
代表 fanjianfeng@byosoft.com.cn
发送时间: 2021年2月23日
9:18
收件人: devel@edk2.groups.io; lersek <lersek@redhat.com>; Tiger Liu(BJ-RD) <TigerLiu@zhaoxin.com>
主题: Re: [edk2-devel] MP Services Protocol : Support Hyper threading or not
" Will EFI_MP_SERVICES_PROTOCOL.StartupAllAPs() make all 8 logical cores do some tasks simultaneously?"
All APs logical processors excute AP task, not including BSP. Acutally the answer is 7.
Jeff
From: Laszlo Ersek
Date: 2021-02-22 18:39
Subject: Re: [edk2-devel] MP Services Protocol : Support Hyper threading or not
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