On Wed, Mar 06, 2024 at 06:09:54PM -0800, Isaku Yamahata <isaku.yamahata@xxxxxxxxxxxxxxx> wrote: > 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. Any input? If no further input, I assume the primary use case is pre-population before guest running. -- Isaku Yamahata <isaku.yamahata@xxxxxxxxx>