[edk2-devel] [RFC PATCH 0/5] support CPU hot-unplug

Igor Mammedov imammedo at redhat.com
Mon Dec 21 15:46:39 UTC 2020


On Mon, 21 Dec 2020 15:44:35 +0100
"Laszlo Ersek" <lersek at redhat.com> wrote:

> Hi Ankur,
> 
> On 12/08/20 06:34, Ankur Arora wrote:
> > [ Resending to the correct edk2 alias this time. ]
> > 
> > Hi,
> > 
> > This series adds support for CPU hot-unplug with OVMF.
> > 
> > Please see this in conjunction with the QEMU v2 series posted here: 
> >   https://lore.kernel.org/qemu-devel/20201207140739.3829993-1-imammedo@redhat.com/
> > 
> > In particular, would be glad for comments on Patch 4, specifically
> > where we should be ejecting the CPU. 
> > 
> > Right now the ejection happens in UnplugCpus() (called from
> > CpuHotplugMmi()):
> >   +    QemuCpuhpWriteCpuSelector (mMmCpuIo, RemoveApicId);
> >   +    QemuCpuhpWriteCpuStatus (mMmCpuIo, QEMU_CPUHP_STAT_EJECTED);
> > 
> > That is way too early -- given that the actual unplug will happen
> > in SmmCpuUpdate() and given that the BSPHandler() would have waited
> > for the APs multiple times before then.
> > 
> > Another possibility is that the actual ejection be deferred to the
> > _EJ0 method after the return from the SMI. But, that seems like a
> > hack. Additionally, Igor points out here that this approach has problems:
> >   https://lore.kernel.org/qemu-devel/20201204170939.1815522-1-imammedo@redhat.com/  
> 
> I've filed:
> 
>   https://bugzilla.tianocore.org/show_bug.cgi?id=3132
> 
> Can you please register an account in the TianoCore Bugzilla at
> <https://bugzilla.tianocore.org/>, and assign the above ticket to yourself?
> 
> And then, the URL of the new BZ ticket should be included in every
> commit message, like this:
> 
> Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=3132
> 
> just above your S-o-b.
> 
> No need to repost just because of this; I'll review the RFC series later.
BTW:

meanwhile, QEMU part got merged so one doesn't need to hunt for it anymore.
If something is broken there, we will have to fix it on top.

> 
> Thanks,
> Laszlo
> 
> > 
> > Please review.
> > 
> > Thanks
> > Ankur
> > 
> > Ankur Arora (5):
> >   OvmfPkg/CpuHotplugSmm: move CPU Hotplug into PlugCpus()
> >   OvmfPkg/CpuHotplugSmm: handle fw_remove
> >   OvmfPkg/CpuHotplugSmm: add CpuStatus helper function
> >   OvmfPkg/CpuHotplugSmm: handle CPU hot-unplug
> >   OvmfPkg/SmmControl2Dxe: negotiate ICH9_LPC_SMI_F_CPU_HOT_UNPLUG
> > 
> >  OvmfPkg/CpuHotplugSmm/CpuHotplug.c            | 293 ++++++++++++------
> >  OvmfPkg/CpuHotplugSmm/QemuCpuhp.c             |  58 +++-
> >  OvmfPkg/CpuHotplugSmm/QemuCpuhp.h             |   6 +
> >  .../Include/IndustryStandard/QemuCpuHotplug.h |   2 +
> >  OvmfPkg/SmmControl2Dxe/SmiFeatures.c          |  21 +-
> >  5 files changed, 280 insertions(+), 100 deletions(-)
> >   
> 
> 
> 
> 
> 
> 



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#69333): https://edk2.groups.io/g/devel/message/69333
Mute This Topic: https://groups.io/mt/78802720/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-





More information about the edk2-devel-archive mailing list