[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87lf1dd6i9.mognet@arm.com>
Date: Wed, 24 Nov 2021 13:31:58 +0000
From: Valentin Schneider <valentin.schneider@....com>
To: "Longpeng \(Mike\, Cloud Infrastructure Service Product Dept.\)"
<longpeng2@...wei.com>,
Sebastian Andrzej Siewior <bigeasy@...utronix.de>
Cc: "linux-kernel\@vger.kernel.org" <linux-kernel@...r.kernel.org>,
"Gonglei \(Arei\)" <arei.gonglei@...wei.com>,
"x86\@kernel.org" <x86@...nel.org>,
"xen-devel\@lists.xenproject.org" <xen-devel@...ts.xenproject.org>,
Peter Zijlstra <peterz@...radead.org>,
Ingo Molnar <mingo@...nel.org>,
Boris Ostrovsky <boris.ostrovsky@...cle.com>,
Juergen Gross <jgross@...e.com>,
Stefano Stabellini <sstabellini@...nel.org>,
Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>, Borislav Petkov <bp@...en8.de>,
Dave Hansen <dave.hansen@...ux.intel.com>,
"H. Peter Anvin" <hpa@...or.com>
Subject: RE: [PATCH] cpu/hotplug: Allow the CPU in CPU_UP_PREPARE state to be brought up again.
On 24/11/21 00:19, Longpeng (Mike, Cloud Infrastructure Service Product Dept.) wrote:
>> -----Original Message-----
>> From: Valentin Schneider [mailto:valentin.schneider@....com]
>> For my own education, this is talking about *host* CPU hotplug, right?
>>
>
> It's about the *guest* CPU hotplug.
>
> 1. Users in Primary VM:
> Split out vcpuX (offline from Primary VM) for Enclave VM
>
> 2. Hypervisor:
> Set a flag for vcpuX, all requests from Primary VM to bring up vcpuX
> will be ignore.
>
> 3. Users in Primary VM:
> echo 1 > .../vcpuX/online would fail and leave the CPU state of vcpuX
> in CPU_UP_PREPARE.
>
> 4. Users in Primary VM terminate the Enclave VM:
> Hypervisor should clear the flag (set in step 2) of vcpuX, so the vcpuX
> can continue to receive requests.
>
> 5. Users in Primary VM:
> Try to online the vcpuX again (expect success), but it's always failed.
>
If I followed the rabbit hole in the right direction, this is about:
ff8a4d3e3a99 ("nitro_enclaves: Add logic for setting an enclave vCPU")
So there's a 1:1 CPU:vCPU mapping and an Enclave carves a chunk out of the
Primary VM...
Thanks for the detailed explanation!
Powered by blists - more mailing lists