mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "Huang, Kai" <kai.huang@intel.com>
To: "pbonzini@redhat.com" <pbonzini@redhat.com>,
	"seanjc@google.com" <seanjc@google.com>
Cc: "kvm@vger.kernel.org" <kvm@vger.kernel.org>,
	"ashish.kalra@amd.com" <ashish.kalra@amd.com>,
	"Hansen, Dave" <dave.hansen@intel.com>,
	"thomas.lendacky@amd.com" <thomas.lendacky@amd.com>,
	"kas@kernel.org" <kas@kernel.org>,
	"Chatre, Reinette" <reinette.chatre@intel.com>,
	"dwmw@amazon.co.uk" <dwmw@amazon.co.uk>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"mingo@redhat.com" <mingo@redhat.com>,
	"Yamahata, Isaku" <isaku.yamahata@intel.com>,
	"nik.borisov@suse.com" <nik.borisov@suse.com>,
	"tglx@linutronix.de" <tglx@linutronix.de>,
	"hpa@zytor.com" <hpa@zytor.com>,
	"peterz@infradead.org" <peterz@infradead.org>,
	"sagis@google.com" <sagis@google.com>,
	"Chen, Farrah" <farrah.chen@intel.com>,
	"Edgecombe, Rick P" <rick.p.edgecombe@intel.com>,
	"bp@alien8.de" <bp@alien8.de>,
	"binbin.wu@linux.intel.com" <binbin.wu@linux.intel.com>,
	"Gao, Chao" <chao.gao@intel.com>,
	"Williams, Dan J" <dan.j.williams@intel.com>,
	"x86@kernel.org" <x86@kernel.org>
Subject: Re: [PATCH v6 7/7] KVM: TDX: Explicitly do WBINVD when no more TDX SEAMCALLs
Date: Tue, 19 Aug 2025 21:53:36 +0000	[thread overview]
Message-ID: <a418f9758b5817c70f7345c59111b9e78c0deede.camel@intel.com> (raw)
In-Reply-To: <acbcfc16-6ccc-4aa8-8975-b33caf36b65f@redhat.com>

On Tue, 2025-08-19 at 12:31 +0200, Paolo Bonzini wrote:
> On 8/15/25 02:00, Huang, Kai wrote:
> > On Thu, 2025-08-14 at 16:22 -0700, Sean Christopherson wrote:
> > > On Thu, Aug 14, 2025, Kai Huang wrote:
> > > > On Thu, 2025-08-14 at 11:00 -0700, Sean Christopherson wrote:
> > > > > Reducing the number of lines of code is not always a simplification.  IMO, not
> > > > > checking CONFIG_KEXEC adds "complexity" because anyone that reads the comment
> > > > > (and/or the massive changelog) will be left wondering why there's a bunch of
> > > > > documentation that talks about kexec, but no hint of kexec considerations in the
> > > > > code.
> > 
> > One minor thing is I think we should use IS_ENABLED(CONFIG_KEXEC_CORE)
> > instead.  Besides the CONFIG_KEXEC, there is another CONFIG_KEXEC_FILE,
> > and both of them select CONFIG_KEXEC_CORE.
> 
> Agreed on needing CONFIG_KEXEC_CORE if you did test it, however:
> 
> 1) The big comment, explaining how this is done for kexec, makes it 
> clear that this is what the WBINVD is needed for.  I don't think you'd 
> be left wondering why there's no hint of kexec in the comment.

(Thanks for the feedback.)

Agreed.

> 
> 2) ... but anyway, KVM is the wrong place to do the test.  If anything, 
> since we need a v7 to change the unnecessary stub, you could move that 
> stub under #ifndef CONFIG_KEXEC_CORE and rename the function to 
> tdx_cpu_flush_cache_for_kexec().
> 
> Paolo

Agreed on renaming to tdx_cpu_flush_cache_for_kexec().

But with the "for_kexec()" part in the function name, it already implies
it is related to kexec, and I kinda think there's no need to test
IS_ENABLED(CONFIG_KEXEC_CORE) anymore.

One of the main purpose of this series is to unblock TDX_HOST and KEXEC in
the Kconfig, since otherwise I've been told distros will simply choose to
disable TDX_HOST in the Kconfig.  So in reality, I suppose they will be on
together probably in like 95% cases, if not 100%.

If we want to test CONFIG_KEXEC_CORE in tdx_cpu_flush_cache_for_kexec(),
then it would be a little bit weird that why we don't test it in other
places, e.g., when setting up the boolean.  Testing it in all places would
make the code unnecessarily long and harder to read.

So my preference is to simply rename to tdx_cpu_flush_cache_for_kexec().

Paolo/Sean, are you OK with this?

  reply	other threads:[~2025-08-19 21:53 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-08-13 23:59 [PATCH v6 0/7] TDX host: kexec/kdump support Kai Huang
2025-08-13 23:59 ` [PATCH v6 1/7] x86/kexec: Consolidate relocate_kernel() function parameters Kai Huang
2025-08-15 10:46   ` Borislav Petkov
2025-08-18  1:15     ` Huang, Kai
2025-08-13 23:59 ` [PATCH v6 2/7] x86/sme: Use percpu boolean to control WBINVD during kexec Kai Huang
2025-08-19 19:28   ` Borislav Petkov
2025-08-19 21:57     ` Huang, Kai
2025-08-13 23:59 ` [PATCH v6 3/7] x86/virt/tdx: Mark memory cache state incoherent when making SEAMCALL Kai Huang
2025-08-13 23:59 ` [PATCH v6 4/7] x86/kexec: Disable kexec/kdump on platforms with TDX partial write erratum Kai Huang
2025-08-13 23:59 ` [PATCH v6 5/7] x86/virt/tdx: Remove the !KEXEC_CORE dependency Kai Huang
2025-08-13 23:59 ` [PATCH v6 6/7] x86/virt/tdx: Update the kexec section in the TDX documentation Kai Huang
2025-08-13 23:59 ` [PATCH v6 7/7] KVM: TDX: Explicitly do WBINVD when no more TDX SEAMCALLs Kai Huang
2025-08-14 13:54   ` Sean Christopherson
2025-08-14 15:38     ` Edgecombe, Rick P
2025-08-14 18:00       ` Sean Christopherson
2025-08-14 22:19         ` Huang, Kai
2025-08-14 23:22           ` Sean Christopherson
2025-08-15  0:00             ` Huang, Kai
2025-08-19 10:31               ` Paolo Bonzini
2025-08-19 21:53                 ` Huang, Kai [this message]
2025-08-20  9:51                   ` Paolo Bonzini
2025-08-20 11:22                     ` Huang, Kai
2025-08-20 20:35                       ` Paolo Bonzini
2025-08-20 21:34                         ` Huang, Kai
2025-08-20 15:39                   ` Paolo Bonzini
2025-08-14 22:25     ` 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=a418f9758b5817c70f7345c59111b9e78c0deede.camel@intel.com \
    --to=kai.huang@intel.com \
    --cc=ashish.kalra@amd.com \
    --cc=binbin.wu@linux.intel.com \
    --cc=bp@alien8.de \
    --cc=chao.gao@intel.com \
    --cc=dan.j.williams@intel.com \
    --cc=dave.hansen@intel.com \
    --cc=dwmw@amazon.co.uk \
    --cc=farrah.chen@intel.com \
    --cc=hpa@zytor.com \
    --cc=isaku.yamahata@intel.com \
    --cc=kas@kernel.org \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=nik.borisov@suse.com \
    --cc=pbonzini@redhat.com \
    --cc=peterz@infradead.org \
    --cc=reinette.chatre@intel.com \
    --cc=rick.p.edgecombe@intel.com \
    --cc=sagis@google.com \
    --cc=seanjc@google.com \
    --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

all inboxes | Powered by JetHome®