From: Dave Hansen <dave.hansen@intel.com>
To: Kai Huang <kai.huang@intel.com>,
linux-kernel@vger.kernel.org, kvm@vger.kernel.org
Cc: linux-mm@kvack.org, peterz@infradead.org, tglx@linutronix.de,
seanjc@google.com, pbonzini@redhat.com, dan.j.williams@intel.com,
rafael.j.wysocki@intel.com, kirill.shutemov@linux.intel.com,
ying.huang@intel.com, reinette.chatre@intel.com,
len.brown@intel.com, tony.luck@intel.com, ak@linux.intel.com,
isaku.yamahata@intel.com, chao.gao@intel.com,
sathyanarayanan.kuppuswamy@linux.intel.com, david@redhat.com,
bagasdotme@gmail.com, sagis@google.com, imammedo@redhat.com
Subject: Re: [PATCH v9 07/18] x86/virt/tdx: Do TDX module per-cpu initialization
Date: Mon, 13 Feb 2023 10:07:30 -0800 [thread overview]
Message-ID: <2d9172c5-e1e7-bf94-c52b-0e9bc5b5b319@intel.com> (raw)
In-Reply-To: <557c526a1190903d11d67c4e2c76e01f67f6eb15.1676286526.git.kai.huang@intel.com>
On 2/13/23 03:59, Kai Huang wrote:
> @@ -247,8 +395,17 @@ int tdx_enable(void)
> ret = __tdx_enable();
> break;
> case TDX_MODULE_INITIALIZED:
> - /* Already initialized, great, tell the caller. */
> - ret = 0;
> + /*
> + * The previous call of __tdx_enable() may only have
> + * initialized part of present cpus during module
> + * initialization, and new cpus may have become online
> + * since then.
> + *
> + * To make sure all online cpus are TDX-runnable, always
> + * do per-cpu initialization for all online cpus here
> + * even the module has been initialized.
> + */
> + ret = __tdx_enable_online_cpus();
I'm missing something here. CPUs get initialized through either:
1. __tdx_enable(), for the CPUs around at the time
2. tdx_cpu_online(), for hotplugged CPUs after __tdx_enable()
But, this is a third class. CPUs that came online after #1, but which
got missed by #2. How can that happen?
next prev parent reply other threads:[~2023-02-13 18:07 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-02-13 11:59 [PATCH v9 00/18] TDX host kernel support Kai Huang
2023-02-13 11:59 ` [PATCH v9 01/18] x86/tdx: Define TDX supported page sizes as macros Kai Huang
2023-02-13 11:59 ` [PATCH v9 02/18] x86/virt/tdx: Detect TDX during kernel boot Kai Huang
2023-02-13 11:59 ` [PATCH v9 03/18] x86/virt/tdx: Make INTEL_TDX_HOST depend on X86_X2APIC Kai Huang
2023-02-13 11:59 ` [PATCH v9 04/18] x86/virt/tdx: Add skeleton to initialize TDX on demand Kai Huang
2023-02-14 12:46 ` Peter Zijlstra
2023-02-14 17:23 ` Dave Hansen
2023-02-14 21:08 ` Huang, Kai
2023-02-13 11:59 ` [PATCH v9 05/18] x86/virt/tdx: Add SEAMCALL infrastructure Kai Huang
2023-02-13 17:48 ` Dave Hansen
2023-02-13 21:21 ` Huang, Kai
2023-02-13 22:39 ` Dave Hansen
2023-02-13 23:22 ` Huang, Kai
2023-02-14 8:57 ` Huang, Kai
2023-02-14 17:27 ` Dave Hansen
2023-02-14 22:17 ` Huang, Kai
2023-02-14 12:42 ` Peter Zijlstra
2023-02-14 21:02 ` Huang, Kai
2023-02-13 11:59 ` [PATCH v9 06/18] x86/virt/tdx: Do TDX module global initialization Kai Huang
2023-02-13 11:59 ` [PATCH v9 07/18] x86/virt/tdx: Do TDX module per-cpu initialization Kai Huang
2023-02-13 17:59 ` Dave Hansen
2023-02-13 21:19 ` Huang, Kai
2023-02-13 22:43 ` Dave Hansen
2023-02-14 0:02 ` Huang, Kai
2023-02-14 14:12 ` Peter Zijlstra
2023-02-14 22:53 ` Huang, Kai
2023-02-15 9:16 ` Peter Zijlstra
2023-02-15 9:46 ` Huang, Kai
2023-02-15 13:25 ` Peter Zijlstra
2023-02-15 21:37 ` Huang, Kai
2023-03-06 14:26 ` Huang, Kai
2023-02-13 18:07 ` Dave Hansen [this message]
2023-02-13 21:13 ` Huang, Kai
2023-02-13 22:28 ` Dave Hansen
2023-02-13 23:43 ` Huang, Kai
2023-02-13 23:52 ` Dave Hansen
2023-02-14 0:09 ` Huang, Kai
2023-02-14 14:12 ` Peter Zijlstra
2023-02-14 12:59 ` Peter Zijlstra
2023-02-13 11:59 ` [PATCH v9 08/18] x86/virt/tdx: Get information about TDX module and TDX-capable memory Kai Huang
2023-02-13 11:59 ` [PATCH v9 09/18] x86/virt/tdx: Use all system memory when initializing TDX module as TDX memory Kai Huang
2023-02-14 3:30 ` Huang, Ying
2023-02-14 8:24 ` Huang, Kai
2023-02-13 11:59 ` [PATCH v9 10/18] x86/virt/tdx: Add placeholder to construct TDMRs to cover all TDX memory regions Kai Huang
2023-02-13 11:59 ` [PATCH v9 11/18] x86/virt/tdx: Fill out " Kai Huang
2023-02-13 11:59 ` [PATCH v9 12/18] x86/virt/tdx: Allocate and set up PAMTs for TDMRs Kai Huang
2023-02-13 11:59 ` [PATCH v9 13/18] x86/virt/tdx: Designate reserved areas for all TDMRs Kai Huang
2023-02-13 11:59 ` [PATCH v9 14/18] x86/virt/tdx: Configure TDX module with the TDMRs and global KeyID Kai Huang
2023-02-13 11:59 ` [PATCH v9 15/18] x86/virt/tdx: Configure global KeyID on all packages Kai Huang
2023-02-13 11:59 ` [PATCH v9 16/18] x86/virt/tdx: Initialize all TDMRs Kai Huang
2023-02-13 11:59 ` [PATCH v9 17/18] x86/virt/tdx: Flush cache in kexec() when TDX is enabled Kai Huang
2023-02-13 11:59 ` [PATCH v9 18/18] Documentation/x86: Add documentation for TDX host support Kai Huang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=2d9172c5-e1e7-bf94-c52b-0e9bc5b5b319@intel.com \
--to=dave.hansen@intel.com \
--cc=ak@linux.intel.com \
--cc=bagasdotme@gmail.com \
--cc=chao.gao@intel.com \
--cc=dan.j.williams@intel.com \
--cc=david@redhat.com \
--cc=imammedo@redhat.com \
--cc=isaku.yamahata@intel.com \
--cc=kai.huang@intel.com \
--cc=kirill.shutemov@linux.intel.com \
--cc=kvm@vger.kernel.org \
--cc=len.brown@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=pbonzini@redhat.com \
--cc=peterz@infradead.org \
--cc=rafael.j.wysocki@intel.com \
--cc=reinette.chatre@intel.com \
--cc=sagis@google.com \
--cc=sathyanarayanan.kuppuswamy@linux.intel.com \
--cc=seanjc@google.com \
--cc=tglx@linutronix.de \
--cc=tony.luck@intel.com \
--cc=ying.huang@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).