[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2 00/14] Add VMX TSC scaling support
> From: Zhang, Haozhong > Sent: Thursday, December 10, 2015 7:13 PM > > On 12/10/15 10:43, Tian, Kevin wrote: > > > From: Andrew Cooper [mailto:andrew.cooper3@xxxxxxxxxx] > > > Sent: Tuesday, December 08, 2015 1:04 AM > > > > > > On 07/12/15 10:16, Haozhong Zhang wrote: > > > > On 12/07/15 10:03, Egger, Christoph wrote: > > > >> Did you consider nested virtualization? > > > >> L1 hypervisor may have a different tsc scaling > > > >> and L2 guest again may have a different tsc scale ratio. > > > >> > > > > Oh, I forgot this. I'll check the nested TSC scaling code (mostly > > > > about nested SVM TSC ratio, because this patch series does not expose > > > > VMX TSC scaling to L1 guest). > > > > > > > > BTW, are there any practical usage scenarios of nested TSC scaling? If > > > > any, I may also need to consider adding nested virtualization support > > > > to VMX TSC scaling. > > > > > > I would say that there are genuine uses for nested TSC scaling. An L1 > > > hypervisor is going to want to scale for the same reasons as the L0 > > > hypervisor. > > > > > > Having said that, if TSC scaling is correctly hidden from the L1 guests, > > > I would advise against conflating the two issues together. i.e. getting > > > nested TSC scaling working is not a prerequisite for accepting this > > > series. > > > > > > > Why is nested TSC scaling even an issue? If L0 hypervisors cross hosts > > can always guarantee constant TSC frequency through TSC scaling, L1 > > hypervisor will never see inconstant TSC frequency so why bother to > > expose TSC scaling at all? > > > > If exposing TSC scaling to L1, then L0 hypervisor will need to adapt > the TSC scaling ratio set by L1 hypervisor, which has not been done by > this patch series. > > Consider an example that the host TSC frequency is freq_0 and > 1. L0 Xen sets TSC scaling ratio to a non-identical one ratio_0. > > 2. Then L1 hypervisor will observe a "host" TSC frequency (freq_0 * ratio_0). > > 3. If L1 hypervisor sets a TSC scaling ratio ratio_1, it intends to > provide a guest TSC frequency (freq_0 * ratio_0 * ratio_1). > > However, if ratio_1 is directly written into nested VMCS that is > later applied to the host CPU, then the L2 guest will get an > incorrect guest TSC frequency (freq_0 * ratio_1). > > My point is why we need expose TSC scaling to L1, if L0 has ensures constant TSC w/ TSC scaling ratio... Thanks Kevin _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |