| Date | Sun, 27 Feb 2022 14:05:26 -0800 | From | Josh Poimboeuf <> | Subject | Re: [PATCHv4 29/30] ACPICA: Avoid cache flush on TDX guest |
| |
On Thu, Feb 24, 2022 at 06:56:29PM +0300, Kirill A. Shutemov wrote: > +/* > + * ACPI_FLUSH_CPU_CACHE() flushes caches on entering sleep states. > + * It is required to prevent data loss. > + * > + * While running inside TDX guest, the kernel can bypass cache flushing. > + * Changing sleep state in a virtual machine doesn't affect the host system > + * sleep state and cannot lead to data loss. > + * > + * TODO: Is it safe to generalize this from TDX guests to all guest kernels? > + */ > +#define ACPI_FLUSH_CPU_CACHE() \ > +do { \ > + if (!cpu_feature_enabled(X86_FEATURE_TDX_GUEST)) \ > + wbinvd(); \ > +} while (0)
If it's safe, why not do it for all VMs? Is there something specific about TDX which makes this more obviously known to be safe than for regular VMs?
The patch description and the above comment make it sound like "we're not really sure this is safe, so we'll just use TDX as a testing ground for the idea." Which doesn't really inspire a lot of confidence in the stability of TD sleep states.
-- Josh
|