From: Dave Hansen <dave.hansen@intel.com>
To: "Huang, Kai" <kai.huang@intel.com>, linux-kernel@vger.kernel.org
Cc: x86@kernel.org, kirill.shutemov@linux.intel.com,
tglx@linutronix.de, bp@alien8.de, mingo@redhat.com,
hpa@zytor.com, luto@kernel.org, peterz@infradead.org,
thomas.lendacky@amd.com, chao.gao@intel.com, bhe@redhat.com,
nik.borisov@suse.com, pbonzini@redhat.com
Subject: Re: [PATCH 2/4] x86/virt/tdx: Advertise the CC_ATTR_HOST_MEM_INCOHERENT for TDX host
Date: Wed, 31 Jan 2024 09:11:20 -0800 [thread overview]
Message-ID: <ccc94ede-4934-407f-883a-cd47079d2318@intel.com> (raw)
In-Reply-To: <ebbc67eb2c6052dd56fda31cd22bb830d3d290ef.1706698706.git.kai.huang@intel.com>
On 1/31/24 03:31, Huang, Kai wrote:
> From: Kai Huang <kai.huang@intel.com>
>
> On the TDX capable platform, during kexec() the old kernel needs to
> flush dirty cachelines of all TDX private memory otherwise they may
> silently corrupt the new kernel's memory.
>
> Advertise the new introduced CC_ATTR_HOST_MEM_INCOHERENT attribute for
> TDX host platform so the cache will be flushed during kexec().
So, you're setting a new bit, CC_ATTR_HOST_MEM_INCOHERENT. The way I
like to deal with these is to go back and look at the definition of
CC_ATTR_HOST_MEM_INCOHERENT and see whether the changelog here convinces
me that CC_ATTR_HOST_MEM_INCOHERENT is being set appropriately. Bonus
points if this changelog uses the same nomenclature as the comment
describing CC_ATTR_HOST_MEM_INCOHERENT.
How well does this match the comment above CC_ATTR_HOST_MEM_INCOHERENT?
> Note theoretically cache flush is only needed when TDX module is
> initialized, but the module initialization is done at runtime so just
> advertise the CC attribute when the platform has TDX enabled.
I find this really hard to parse. Here's a rewrite, as usual:
A TDX-host-capable system might not actually have any incoherent
memory. This can occur if a TDX module was never initialized or
if the caches have been flushed since the last time TDX was
used. Ignore that case. Eliminate the need for any locking and
assume that any TDX-host-capable system might have incoherent
memory by always setting CC_ATTR_HOST_MEM_INCOHERENT.
next prev parent reply other threads:[~2024-01-31 17:11 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-31 11:31 [PATCH 0/4] TDX host: kexec() support Huang, Kai
2024-01-31 11:31 ` [PATCH 1/4] x86/coco: Add a new CC attribute to unify cache flush during kexec Huang, Kai
2024-02-19 16:16 ` Borislav Petkov
2024-02-19 19:45 ` Tom Lendacky
2024-02-19 20:32 ` Borislav Petkov
2024-02-19 22:09 ` Tom Lendacky
2024-02-20 2:57 ` Huang, Kai
2024-02-20 14:40 ` Tom Lendacky
2024-02-20 14:28 ` Borislav Petkov
2024-02-20 14:47 ` Tom Lendacky
2024-02-20 20:07 ` Huang, Kai
2024-02-20 22:30 ` Tom Lendacky
2024-02-21 1:38 ` Huang, Kai
2024-02-21 9:28 ` Borislav Petkov
2024-02-22 11:49 ` Huang, Kai
2024-02-23 3:13 ` Dave Young
2024-02-23 10:41 ` Dave Young
2024-02-28 2:54 ` Dave Young
2024-02-28 9:21 ` Huang, Kai
2024-02-28 11:02 ` Borislav Petkov
2024-02-28 22:21 ` Huang, Kai
2024-02-28 10:44 ` Borislav Petkov
2024-02-20 3:12 ` Huang, Kai
2024-01-31 11:31 ` [PATCH 2/4] x86/virt/tdx: Advertise the CC_ATTR_HOST_MEM_INCOHERENT for TDX host Huang, Kai
2024-01-31 17:11 ` Dave Hansen [this message]
2024-02-01 14:42 ` Huang, Kai
2024-01-31 11:31 ` [PATCH 3/4] x86/kexec(): Reset TDX private memory on platforms with TDX erratum Huang, Kai
2024-01-31 21:21 ` Dave Hansen
2024-01-31 22:03 ` Kirill A. Shutemov
2024-02-01 14:22 ` Huang, Kai
2024-02-01 14:39 ` Kirill A. Shutemov
2024-02-01 14:47 ` Huang, Kai
2024-02-01 16:57 ` Dave Hansen
2024-02-05 6:49 ` Huang, Kai
2024-02-01 14:35 ` Huang, Kai
2024-02-02 0:54 ` Edgecombe, Rick P
2024-02-05 6:44 ` Huang, Kai
2024-01-31 11:31 ` [PATCH 4/4] x86/virt/tdx: Remove the !KEXEC_CORE dependency Huang, Kai
2024-02-01 18:28 ` [PATCH 0/4] TDX host: kexec() support Tom Lendacky
2024-02-05 6:50 ` Huang, Kai
2024-02-06 18:56 ` Kalra, Ashish
2024-02-07 1:43 ` Huang, Kai
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=ccc94ede-4934-407f-883a-cd47079d2318@intel.com \
--to=dave.hansen@intel.com \
--cc=bhe@redhat.com \
--cc=bp@alien8.de \
--cc=chao.gao@intel.com \
--cc=hpa@zytor.com \
--cc=kai.huang@intel.com \
--cc=kirill.shutemov@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=luto@kernel.org \
--cc=mingo@redhat.com \
--cc=nik.borisov@suse.com \
--cc=pbonzini@redhat.com \
--cc=peterz@infradead.org \
--cc=tglx@linutronix.de \
--cc=thomas.lendacky@amd.com \
--cc=x86@kernel.org \
/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
Powered by JetHome