On Wed, Mar 06, 2024 at 04:53:41PM -0800, David Matlack <dmatlack@xxxxxxxxxx> wrote: > On 2024-03-01 09:28 AM, isaku.yamahata@xxxxxxxxx wrote: > > From: Isaku Yamahata <isaku.yamahata@xxxxxxxxx> > > > > Implementation: > > - x86 KVM MMU > > In x86 KVM MMU, I chose to use kvm_mmu_do_page_fault(). It's not confined to > > KVM TDP MMU. We can restrict it to KVM TDP MMU and introduce an optimized > > version. > > Restricting to TDP MMU seems like a good idea. But I'm not quite sure > how to reliably do that from a vCPU context. Checking for TDP being > enabled is easy, but what if the vCPU is in guest-mode? As you pointed out in other mail, legacy KVM MMU support or guest-mode will be troublesome. The use case I supposed is pre-population before guest runs, the guest-mode wouldn't matter. I didn't add explicit check for it, though. Any use case while vcpus running? > Perhaps we can just return an error out to userspace if the vCPU is in > guest-mode or TDP is disabled, and make it userspace's problem to do > memory mapping before loading any vCPU state. If the use case for default VM or sw-proteced VM is to avoid excessive kvm page fault at guest boot, error on guest-mode or disabled TDP wouldn't matter. -- Isaku Yamahata <isaku.yamahata@xxxxxxxxxxxxxxx>