Re: [PATCH v7 10/20] x86/virt/tdx: Use all system memory when initializing TDX module as TDX memory
From: Peter Zijlstra
Date: Thu Nov 24 2022 - 04:26:39 EST
On Wed, Nov 23, 2022 at 05:50:37PM -0800, Dan Williams wrote:
> arch_add_memory() does not add memory to the page allocator. For
> example, memremap_pages() uses arch_add_memory() and explicitly does not
> release the memory to the page allocator. This check belongs in
> add_memory_resource() to prevent new memory that violates TDX from being
> onlined. Hopefully there is also an option to disable TDX from the
> kernel boot command line to recover memory-hotplug without needing to
> boot into the BIOS to toggle TDX.
So I've been pushing for all this to either require: tdx=force on the
cmdline to boot-time enable, or delay all the memory allocation to the
first KVM/TDX instance being created.
That is, by default, none of this crud should ever trigger and consume
memory if you're not using TDX (most of us really).
(every machine I have loads kvm.ko unconditionally -- even if I never
user KVM, so kvm.ko load time is not a valid point in time to do TDX
enablement).