----- Original Message ----- > From: "Jike Song" <jike.song@xxxxxxxxx> > To: "Xiao Guangrong" <guangrong.xiao@xxxxxxxxxxxxxxx> > Cc: "Paolo Bonzini" <pbonzini@xxxxxxxxxx>, gleb@xxxxxxxxxx, mtosatti@xxxxxxxxxx, kvm@xxxxxxxxxxxxxxx, > linux-kernel@xxxxxxxxxxxxxxx, "kai huang" <kai.huang@xxxxxxxxxxxxxxx>, "Andrea Arcangeli" <aarcange@xxxxxxxxxx>, > "Kevin Tian" <kevin.tian@xxxxxxxxx> > Sent: Tuesday, February 23, 2016 4:02:25 AM > Subject: Re: [PATCH v3 00/11] KVM: x86: track guest page access > > +Kevin > > On 02/22/2016 06:05 PM, Xiao Guangrong wrote: > > > > On 02/19/2016 08:00 PM, Paolo Bonzini wrote: > >> > >> I still have a doubt: how are you going to handle invalidation of GPU > >> shadow page tables if a device (emulated in QEMU or even vhost) does DMA > >> to the PPGTT? > > > > I think Jike is the better one to answer this question, Jike, could you > > please clarify it? :) > > > > Sure :) > > Actually in guest PPGTT is manipulated by CPU rather than GPU. The > PPGTT page table itself are plain memory, composed & modified by the > GPU driver, i.e. by CPU in Non-Root mode. > > Given that, we write-protected guest PPGTT, when VM writes PPGTT, EPT > violation rather than DMA fault happens. I am not talking of DMA faults; I am talking of a guest that reads from disk into the PPGTT. This is emulated DMA, and your approach of tracking guest page access from KVM means that you are not handling this. Is this right? If so, what happens if the guest does this kind of operation (for example because it is not using the PPGTT anymore)? KVMGT should not be confused the next time it works on that PPGTT page. Paolo -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html