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

Re: Xen vs Trenchboot: TXT AP bringup


  • To: Andrew Cooper <Andrew.Cooper3@xxxxxxxxxx>
  • From: Jan Beulich <jbeulich@xxxxxxxx>
  • Date: Thu, 3 Nov 2022 10:29:00 +0100
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=zJL0LLTJg4jnPn1uIkjfLhClxTDveBtUwKRhbC5dgLw=; b=Odv/QfOlRgPxptOUzwv0Dx8cp5T8a86+HzH01ET9Eie7XA6vwLV0mK0ldWTQbA449nRiCOOl/0uHT5RrCt5pPm7FYpg5arMDQ/BMdl3rJDI38/8v3iPLEex1DrT3JIkfdQyHJuf4q0u5k1Uhn/E7IDMGF0J9ModeUFMcNJSACyEtNlA/sDUALo7fY8Y3p6ocMfPyPUDoOFy8xGDNCm70ScjX8Pi4tobNo1auw0n/22RHNunL/4KmNMwz1ADVChr/q+nenxmSI1bnDIpjfmPWTmgTiYI+luxr7L3iQXevmY7584GmjBDsaNjbyvMZeoSPZ0gaJAJafs/8j9HJkn9XDA==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=V+paBPQ/3KIUQ5FUjvcgdV7B4AFOYXstYVL8t42inz+i+Fmlv/ERXEormLnkoVBozPlpj64EBFrdgYVWCk/upVyapebGdGZ7SL3FhN+21M3ioUxO941o078uhp5A6G/CLtAZnTyidOlHfqE2qZEdA3C2Z4k5Q/EoX4bYmUmfzb0q9Yeeo/TTIGO3LiHcrhcSchn+gSU4K8LMm6H4Y00xnF0QGixiglsB/SPDJ0KxVitvGLLzsVXE9pKtWykjEnxNi/NiJPnYOKe969e321G4MxWV8muLLmcM6Nzu1HgNMyK9uo1J2k6dndn1biKdfLb3xP303fYIimvTldcIqpQT2A==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com;
  • Cc: Roger Pau Monne <roger.pau@xxxxxxxxxx>, Krystian Hebel <krystian.hebel@xxxxxxxxx>, Daniel Smith <dpsmith@xxxxxxxxxxxxxxxxxxxx>, xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxx>, "trenchboot-devel@xxxxxxxxxxxxxxxx" <trenchboot-devel@xxxxxxxxxxxxxxxx>
  • Delivery-date: Thu, 03 Nov 2022 09:29:28 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On 27.10.2022 21:37, Andrew Cooper wrote:
> However, we're also very close to supporting parallel boot.  The
> serialising point we currently have is __high_start loading %rsp from
> stack_start, because that's a single pointer adjusted by do_boot_cpu(). 
> Everything else, even the processor's idea of Xen's CPU id is derived
> from the stack; specifically in the cpu_info block on the top of the
> stack, which is prepared by the BSP.
> 
> All we need to do full parallel boot is an array mapping APIC_ID -> Xen
> CPU index.  The AP boot path doesn't use the trampoline stack at all. 
> Given some way of transforming APIC_ID into a Xen CPU index, the APs
> could pull their stack pointer straight out of the stack_bases[] array. 
> This would allow us in the general case to boot APs using an
> all-but-self INIT-SIPI-SIPI.  (This is how firmware does AP bringup anyway.)
> 
> 
> Thoughts?  In particular, is there an obvious option I've missed[1]?

Well, I don't see other options, but I'm not sure we're as close as you
describe. I'm pretty sure we have assumptions elsewhere that multiple
CPUs won't be starting in parallel. Those places will need finding and
adjusting. Plus the generic CPU infrastructure also assumes things are
done one by one, with (for example) cpu_up() taking a CPU number, not a
CPU mask.

Jan



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.