[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] RE: [Xen-devel] RE: Saving/Restoring IA32_TSC_AUX MSR
> As I know, RDTSCP can used to implment fast vgetcpu in > newer Linux kernel. Yes, but code which uses fast vgetcpu is expecting to get physical cpu and physical node number. Since an HVM guest OS only has access to virtual cpu and virtual node number, the information written to TSC_AUX by a guest OS is misleading and may silently break any userland code that assumes it is getting physical information. I continue to think this is a bad idea and, to use Keir's words, is "Supporting CPU instructions just because they're there". But, if I am overruled, I'd like to see some measurement of the cycle cost for writing to TSC_AUX. Since Linux only writes it once at __cpuinit time, I wouldn't be surprised to find out that it is horribly slow and adding it to every context switch would be slowing down all users of Xen for a handful of applications -- that are getting incorrect information (vcpu vs pcpu) anyway. > -----Original Message----- > From: Keir Fraser [mailto:keir.fraser@xxxxxxxxxxxxx] > Sent: Friday, December 11, 2009 2:22 AM > To: Zhang, Xiantao; Dan Magenheimer; Xu, Dongxiao; Nakajima, Jun; > xen-devel@xxxxxxxxxxxxxxxxxxx > Cc: Dugger, Donald D > Subject: Re: [Xen-devel] RE: Saving/Restoring IA32_TSC_AUX MSR > > > On 11/12/2009 08:43, "Zhang, Xiantao" <xiantao.zhang@xxxxxxxxx> wrote: > > >> The question has to be: what win do we get for faithful > >> virtualisation of RDTSCP in a virtualised environment? > Supporting CPU > >> instructions just because they're there is not a useful effort. > > > > As I know, RDTSCP can used to implment fast vgetcpu in > newer Linux kernel. > > Current node and cpu info is saved in the MSR, and > applications or libraries > > can get this info at ring3 through this instruction. If enable this > > instruction for vmx non-root mode, it should benefit these > kernels I think. > > Sounds reasonable. Obviously this will be incompatible with > pvrdtscp, but > the latter is off by default so this isn't a too serious > problem I think. > Pvrdtscp will simply trump ordinary RDTSCP emulation when it > is enabled. > > You can put your meddling with TSC_AUX MSR in the context-switch path, > regradless of whether pvrdtscp's stays in __update_vcpu_system_time(). > > In short: have at it. > > -- Keir > > > > _______________________________________________ > 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 |