[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] RE: [PATCH] softtsc (was RE: [Xen-devel] Guest TSC and Xen (Intel and AMD feedback please))
OK. Signed-off-by: Li Zhang <li.zhang@xxxxxxxxx> Thanks > -----Original Message----- > From: Dan Magenheimer [mailto:dan.magenheimer@xxxxxxxxxx] > Sent: Thursday, July 10, 2008 5:33 AM > To: dan.magenheimer@xxxxxxxxxx; Zhang, Li; Xen-Devel (E-mail) > Cc: Tian, Kevin > Subject: [PATCH] softtsc (was RE: [Xen-devel] Guest TSC and Xen (Intel and > AMD feedback please)) > > The attached patch adds a new Xen boot option "softtsc" that > causes all hvm domains to trap and emulate all rdtsc instructions > and fetch Xen system time instead of the hardware tsc. As > a result, the processor will appear to be running at 1000.xyz MHz > (where xyz indicates some fraction that seems to vary slightly > across different boots). I've also added a line of output to > "xm debug-key t" to report softsc and tsc-related CPU features. > > (Keir, though 3.3 functionality freeze is past, this is more of a > diagnostic aid and defaults off, so I don't know if you would > consider it for 3.3.) > > Signed-off-by: Dan Magenheimer <dan.magenheimer@xxxxxxxxxx> > > Dan > > P.S. Thanks to Li Zhang for coding the foundation for this patch. > Li, do you want to provide a signed-off-by line too? > > > -----Original Message----- > > From: Dan Magenheimer [mailto:dan.magenheimer@xxxxxxxxxx] > > Sent: Tuesday, July 08, 2008 6:30 PM > > To: 'Zhang, Li'; 'Xen-Devel (E-mail)' > > Cc: 'Tian, Kevin' > > Subject: RE: [Xen-devel] Guest TSC and Xen (Intel and AMD > > feedback please) > > > > > > Looks great! I am continuing to code and test. Some > > preliminary results: > > > > 1) Substituting hvm_get_guest_time() for hvm_get_guest_tsc() > > seems to just work! The hvm > > guest believes it is running on a 1000.185 MHz clock. > > > > 2) On my test box, a guest rdtsc without softtsc takes about > > 30ns. With softtsc, > > rdtsc takes about 1us. > > > > 3) On my user-land test program, I am seeing rare "Time goes > > backwards", even with > > hvm_get_guest_time(). I'm trying to track this down. > > > > Dan > > > > > -----Original Message----- > > > From: Zhang, Li [mailto:li.zhang@xxxxxxxxx] > > > Sent: Tuesday, July 08, 2008 3:47 AM > > > To: Zhang, Li; dan.magenheimer@xxxxxxxxxx; Xen-Devel (E-mail) > > > Cc: Tian, Kevin > > > Subject: RE: [Xen-devel] Guest TSC and Xen (Intel and AMD > > > feedback please) > > > > > > > > > Hi, Dan > > > Please ignore previous comments. The above attachment is OK. > > > Sorry for that. :( > > > > > > > -----Original Message----- > > > > From: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx > > > > [mailto:xen-devel-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf > > > Of Zhang, Li > > > > Sent: Tuesday, July 08, 2008 2:58 PM > > > > To: dan.magenheimer@xxxxxxxxxx; Xen-Devel (E-mail) > > > > Cc: Tian, Kevin > > > > Subject: RE: [Xen-devel] Guest TSC and Xen (Intel and AMD > > > feedback please) > > > > > > > > In fact, the issue is from guest. In the guest's terminal, > > > it shows that "your > > > > time source seems to be instable..." > > > > > > > > > -----Original Message----- > > > > > From: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx > > > > > [mailto:xen-devel-bounces@xxxxxxxxxxxxxxxxxxx] On > > > Behalf Of Zhang, Li > > > > > Sent: Tuesday, July 08, 2008 2:49 PM > > > > > To: dan.magenheimer@xxxxxxxxxx; Xen-Devel (E-mail) > > > > > Cc: Tian, Kevin > > > > > Subject: RE: [Xen-devel] Guest TSC and Xen (Intel and > > > AMD feedback please) > > > > > > > > > > Hi, Dan > > > > > > > > > > This is the patch which I think it has been completed > > > VT. But there is an > > > > > instable issue. The reason may be from that this > > > interception is not bound > > > > > to timer mode yet. > > > > > > > > > > Thanks > > > > > --Li > > > > > > > > > > > -----Original Message----- > > > > > > From: Dan Magenheimer [mailto:dan.magenheimer@xxxxxxxxxx] > > > > > > Sent: Tuesday, July 08, 2008 11:34 AM > > > > > > To: Zhang, Li; Xen-Devel (E-mail) > > > > > > Cc: Tian, Kevin; dan.magenheimer@xxxxxxxxxx > > > > > > Subject: RE: [Xen-devel] Guest TSC and Xen (Intel > > > and AMD feedback > > > > please) > > > > > > > > > > > > Thanks Kevin and Li -- > > > > > > > > > > > > A couple of questions: > > > > > > > > > > > > 1) If the EXITING flag to be set in vmcs.c is to be > > > controlled by a xen > > > > > boot > > > > > > option, would this work: > > > > > > > > > > > > static int opt_softtsc = 0; > > > > > > boolean_param("softtsc", opt_softtsc); > > > > > > : > > > > > > min = /* original code */ > > > > > > if (opt_softtsc) min |= CPU_BASED_RDTSC_EXITING; > > > > > > > > > > > > 2) In vmx_rdtsc_intercept(/* need regs as param*/) > > > if we change the > > > > > > rdtscll(tsc) to be tmptsc = hvm_get_guest_tsc() and > > > then set regs->edx > > > > amd > > > > > > regs->eax from tmptsc, are we almost done? > > > > > > > > > > > > 3) Des Linux or Windows use the CR4.TSD flag and, if > > > so, what code gets > > > > > called > > > > > > to force the trap? > > > > > > > > > > > > 4) Does Linux or Windows use RDMSR/WRMSR of tsc? Is > > > there already code > > > > > > somewhere to emulate WRMSR of tsc? > > > > > > > > > > > > Sorry I am not very familar with the details of the > > > ia32 instruction > > > > set. > > > > > > > > > > > > Thanks, > > > > > > Dan > > > > > > > > > > > > > -----Original Message----- > > > > > > > From: Zhang, Li [mailto:li.zhang@xxxxxxxxx] > > > > > > > Sent: Monday, July 07, 2008 9:00 PM > > > > > > > To: dan.magenheimer@xxxxxxxxxx; Xen-Devel (E-mail) > > > > > > > Cc: Tian, Kevin > > > > > > > Subject: RE: [Xen-devel] Guest TSC and Xen (Intel and AMD > > > > > > > feedback please) > > > > > > > > > > > > > > > > > > > > > Hi, Dan > > > > > > > This seems not to be enough. I will cook another patch. > > > > > > > > > > > > > > > -----Original Message----- > > > > > > > > From: Zhang, Li > > > > > > > > Sent: Tuesday, July 08, 2008 10:28 AM > > > > > > > > To: Tian, Kevin; 'dan.magenheimer@xxxxxxxxxx'; > > > 'Xen-Devel > > > > (E-mail)' > > > > > > > > Subject: RE: [Xen-devel] Guest TSC and Xen > > > (Intel and AMD > > > > > > > feedback please) > > > > > > > > > > > > > > > > Hi, Dan > > > > > > > > > > > > > > > > I just add some code to produce vmexit. The function > > > > > > > vmx_rdtsc_intercept() > > > > > > > > is not completed. It is needed to add some code > > > to get the > > > > > > > guest tsc. > > > > > > > > > > > > > > > > Thanks > > > > > > > > --Li > > > > > > > > > > > > > > > > > -----Original Message----- > > > > > > > > > From: Tian, Kevin > > > > > > > > > Sent: Tuesday, July 08, 2008 9:39 AM > > > > > > > > > To: 'dan.magenheimer@xxxxxxxxxx'; > > Xen-Devel (E-mail) > > > > > > > > > Cc: Zhang, Li > > > > > > > > > Subject: RE: [Xen-devel] Guest TSC and Xen > > (Intel and > > > > > > > AMD feedback please) > > > > > > > > > > > > > > > > > > >From: Dan Magenheimer > > > [mailto:dan.magenheimer@xxxxxxxxxx] > > > > > > > > > >Sent: 2008年7月5日 1:32 > > > > > > > > > > > > > > > > > > > >> >Is this something that you (or Intel > > in general) > > > > > > > could look at? > > > > > > > > > >> >I would be happy to participate but I > > > don't think I > > > > > > > understand > > > > > > > > > >> >VT well enough. Once the trap occurs, > > I suppose > > > > > > > Xen system time > > > > > > > > > >> >could be used as the virtual TSC, > > > possibly scaled up. > > > > > > > > > >> > > > > > > > > > > >> > > > > > > > > > >> There should be tiny related to VT, as > > > only turning > > > > > > > on some bit to > > > > > > > > > >> allow RDTSC trapping and then the rest > > > stuff should be common > > > > > > > > > >> how to handle it. We'll take a look, but can't > > > > > > > commit the time due > > > > > > > > > >> to other scheduled bandwidth. But if > > you'd like to > > > > > > > jump in early > > > > > > > > > >> we definitely can help with VT side. > > > > > > > > > > > > > > > > > > > >If you can post a patch with code that: > > > > > > > > > > > > > > > > > > > >1) declares a boolean global variable: softtsc = 0 > > > > > > > > > >2) if the variable is set, a rdtsc > > > instruction in any hvm > > > > > > > > > > domain causes a trap > > > > > > > > > >3) the trap handler just does a physical > > > rdtsc and returns > > > > > > > > > > > > > > > > > > > >then I could probably take it from there. > > > > > > > > > > > > > > > > > > OK, and Li in CC will take a look and bake a > > > patch for you. > > > > > > > > > > > > > > > > > > Thanks, > > > > > > > > > Kevin > > > > > > > > > > > > > > > _______________________________________________ > > > > Xen-devel mailing list > > > > Xen-devel@xxxxxxxxxxxxxxxxxxx > > > > http://lists.xensource.com/xen-devel > > > > > > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |