Re: [PATCH 0/4]: KVM: nVMX: VPID optimizations

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



2018-05-24 10:04-0700, Liran Alon:
> 
> ----- liran.alon@xxxxxxxxxx wrote:
> 
> > ----- sean.j.christopherson@xxxxxxxxx wrote:
> > 
> > > On Tue, 2018-05-22 at 08:50 -0700, Jim Mattson wrote:
> > > > While we're on the subject, is there any need for L0 to allocate
> > a
> > > > vpid02 in the common case, where nested EPT is enabled?
> > > > 
> > > > Per section 28.3.2 of the SDM, volume 3, when EPT is enabled,
> > > combined
> > > > mappings in the TLB are tagged by {VPID, PCID, EP4TA}. With
> > nested
> > > > EPT, vmcs02 and vmcs01 do not share an EP4TA. Therefore, I think
> > it
> > > > suffices to simply copy the VPID field from vmcs12 to vmcs02 in
> > > this
> > > > case.
> > > 
> > > VPID handling in general looks like it could use a good once-over,
> > > e.g. vpid02 allocation can be delayed until prepare_vmcs02_full(),
> > > we never re-attempt VPID allocation in the (extremely unlikely)
> > > case that there are no available VPIDs at vmx_create_vcpu(), and
> > > load_vmcs12_host_state() explicitly flushes the TLB when VPID is
> > > enabled because it has obsolete code that assumes L1 and L2 always
> > > share a VPID.
> > 
> > Agree with all the above.
> > As a starting point, I think we should apply this current series as it
> > at-least
> > handle the load_vmcs12_host_state() issue. :)
> > 
> > Will also add handling for the rest of these issues in my upcoming
> > series.
> > Thanks for explicitly pointing these out.
> > 
> > > 
> 
> Paolo / Radim:
> Do you agree with me that it makes sense to first apply this series as a first step?

I agree, just went slow with the review.

> Or do you want me to resend these patches as part of a bigger series that will fix the extra issues we discussed here?

If you don't expect to change them when writing the bigger series, then
it's better to have them separate,

thanks.



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux