mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH v2 0/2] Drop unneeded cache flushing
@ 2026-10-15 19:17 Rick Edgecombe
  2026-10-15 19:17 ` [PATCH v2 1/2] x86/virt/tdx: Drop tdx_clflush_*() Rick Edgecombe
  2026-10-15 19:17 ` [PATCH v2 2/2] x86/virt/tdx: Drop tdh_phymem_page_wbinvd_*() Rick Edgecombe
  0 siblings, 2 replies; 3+ messages in thread
From: Rick Edgecombe @ 2026-10-15 19:17 UTC (permalink / raw)
  To: pbonzini, dave.hansen, seanjc, x86, kas, adrian.hunter,
	yan.y.zhao, binbin.wu, xiaoyao.li, chao.gao, linux-kernel, kvm,
	nik.borisov, yilun.xu, tony.lindgren
  Cc: rick.p.edgecombe

Hi TDX developers,

Can I get another round of review before we ask Dave and Sean to look at
it? I'd like to pick up a few more RB tags.

-- Summary --

In the early days of TDX it was assumed the HW would need some cache 
flushing help around transitioning memory between KeyIDs, and so TDX arch 
was designed to specify how the VMM needed to help the module perform 
this. But it turned out the HW was able to handle these issues without SW 
help. For some reason the TDX arch around performing the flushes remained. 
Now the TDX arch is getting fixed and Linux can remove the code that was 
helping perform this unneeded cache flushing. The changes will appear in 
a future documentation update.

As some more context, while this is nice cleanup as is, merging these 
patches will let us drop 2 patches out of the TDX huge pages series. Then 
that series doesn't need to modify these flushes to work with TDX huge 
pages. It also addresses Kiryl's comment about the cache flushing in 
tdh_mem_page_aug() not respecting the 'level' arg, or warning that non-4KB 
sizes are not supported.[0]

-- Changes since v1 --

Yilun asked if we could also remove the WBINVD calls around kexec and TDX
setup error paths. It seems the answer is likely yes, but not confirmed
enough for me yet. So I left that change for the future. Besides, it
doesn't have the same TDX huge page intersection.

Yilun's comment about cleaning up the TDR reclaim after the changes in 
patch 2 was a bit bigger that I expected. I really debated whether to 
split that out. But it wasn't very feasible to do it as a prep patch, so I 
left it as one big bigger. Really debated doing that, or an follow up 
cleanup patch. Opinions requested.

Based on v7.3-rc7.

Thanks,

Rick


Rick Edgecombe (2):
  x86/virt/tdx: Drop tdx_clflush_*()
  x86/virt/tdx: Drop tdh_phymem_page_wbinvd_*()

 arch/x86/include/asm/tdx.h  |  2 --
 arch/x86/kvm/vmx/tdx.c      | 40 +++++-------------------------
 arch/x86/virt/vmx/tdx/tdx.c | 49 -------------------------------------
 arch/x86/virt/vmx/tdx/tdx.h |  1 -
 4 files changed, 6 insertions(+), 86 deletions(-)

-- 
2.55.0


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-10-15 19:24 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-10-15 19:17 [PATCH v2 0/2] Drop unneeded cache flushing Rick Edgecombe
2026-10-15 19:17 ` [PATCH v2 1/2] x86/virt/tdx: Drop tdx_clflush_*() Rick Edgecombe
2026-10-15 19:17 ` [PATCH v2 2/2] x86/virt/tdx: Drop tdh_phymem_page_wbinvd_*() Rick Edgecombe

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®