|   xen-devel
RE: [Xen-devel] RE: Saving/Restoring IA32_TSC_AUX MSR 
| To: | Jeremy Fitzhardinge <jeremy@xxxxxxxx> |  
| Subject: | RE: [Xen-devel] RE: Saving/Restoring IA32_TSC_AUX MSR |  
| From: | Dan Magenheimer <dan.magenheimer@xxxxxxxxxx> |  
| Date: | Fri, 11 Dec 2009 10:35:38 -0800 (PST) |  
| Cc: | xen-devel@xxxxxxxxxxxxxxxxxxx, "Dugger, Donald	D" <donald.d.dugger@xxxxxxxxx>, "Xu, Dongxiao" <dongxiao.xu@xxxxxxxxx>,	Keir Fraser <keir.fraser@xxxxxxxxxxxxx>, "Nakajima, 	Jun" <jun.nakajima@xxxxxxxxx>, "Zhang, Xiantao" <xiantao.zhang@xxxxxxxxx> |  
| Delivery-date: | Fri, 11 Dec 2009 10:37:10 -0800 |  
| Envelope-to: | www-data@xxxxxxxxxxxxxxxxxxx |  
| In-reply-to: | <4B228D7B.709@xxxxxxxx> |  
| List-help: | <mailto:xen-devel-request@lists.xensource.com?subject=help> |  
| List-id: | Xen developer discussion <xen-devel.lists.xensource.com> |  
| List-post: | <mailto:xen-devel@lists.xensource.com> |  
| List-subscribe: | <http://lists.xensource.com/mailman/listinfo/xen-devel>,	<mailto:xen-devel-request@lists.xensource.com?subject=subscribe> |  
| List-unsubscribe: | <http://lists.xensource.com/mailman/listinfo/xen-devel>,	<mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe> |  
| Sender: | xen-devel-bounces@xxxxxxxxxxxxxxxxxxx |  
| > However, the vcpu number is definitely useful to usermode 
> apps, so they 
> can get some idea how they're moved between (v)cpus.  I don't 
> think it 
> will matter to them that it isn't pcpu.
My point is that an app running on native Linux can
safely assume that, if TSC_AUX==3 at time T1 and
TSC_AUX is still 3 at time T2,it is running
on the same processor and the same node at both T1
and T2.  In a virtual environment it cannot even
assume it is running on the same machine.
Further if the app sees that TSC_AUX==2 at time T3
and TSC_AUX==3 at time T4, on native Linux it
can safely assume that it is running on a different
processor.  While rarer, in a virtual environment,
this may also be a false assumption.
That's why I say the information is misleading.
> -----Original Message-----
> From: Jeremy Fitzhardinge [mailto:jeremy@xxxxxxxx]
> Sent: Friday, December 11, 2009 11:21 AM
> To: Dan Magenheimer
> Cc: Keir Fraser; Zhang, Xiantao; Xu, Dongxiao; Nakajima, Jun;
> xen-devel@xxxxxxxxxxxxxxxxxxx; Dugger, Donald D
> Subject: Re: [Xen-devel] RE: Saving/Restoring IA32_TSC_AUX MSR
> 
> 
> On 12/11/09 07:09, Dan Magenheimer wrote:
> >> 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.
> >    
> 
> It will fall back to using the segment limit trick to get vcpu+vnode 
> info if rdtscp isn't available, so they'll get the info either way.
> 
> It's not clear how many apps make good use of the numa node info, but 
> presumably some do.  So long as the virtual numa info bears 
> some vague 
> resemblance to the real topology then they could still make 
> use of it in 
> a Xen domain.  Whether or not Xen currently implements that is a 
> separate question.
> 
> However, the vcpu number is definitely useful to usermode 
> apps, so they 
> can get some idea how they're moved between (v)cpus.  I don't 
> think it 
> will matter to them that it isn't pcpu.
> 
>      J
>
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
 | 
 
| <Prev in Thread] | Current Thread | [Next in Thread> |  | 
RE: [Xen-devel] RE: Saving/Restoring IA32_TSC_AUX MSR, (continued)
RE: [Xen-devel] RE: Saving/Restoring IA32_TSC_AUX MSR, Dan Magenheimer
Re: [Xen-devel] RE: Saving/Restoring IA32_TSC_AUX MSR, Keir Fraser
RE: [Xen-devel] RE: Saving/Restoring IA32_TSC_AUX MSR, Zhang, Xiantao
Re: [Xen-devel] RE: Saving/Restoring IA32_TSC_AUX MSR, Keir Fraser
RE: [Xen-devel] RE: Saving/Restoring IA32_TSC_AUX MSR, Dan Magenheimer
RE: [Xen-devel] RE: Saving/Restoring IA32_TSC_AUX MSR, Xu, Dongxiao
RE: [Xen-devel] RE: Saving/Restoring IA32_TSC_AUX MSR, Dan Magenheimer
RE: [Xen-devel] RE: Saving/Restoring IA32_TSC_AUX MSR, Nakajima, Jun
RE: [Xen-devel] RE: Saving/Restoring IA32_TSC_AUX MSR, Dan Magenheimer
Re: [Xen-devel] RE: Saving/Restoring IA32_TSC_AUX MSR, Jeremy Fitzhardinge
RE: [Xen-devel] RE: Saving/Restoring IA32_TSC_AUX MSR,
Dan Magenheimer <=
Re: [Xen-devel] RE: Saving/Restoring IA32_TSC_AUX MSR, Jeremy Fitzhardinge
RE: [Xen-devel] RE: Saving/Restoring IA32_TSC_AUX MSR, Nakajima, Jun
RE: [Xen-devel] RE: Saving/Restoring IA32_TSC_AUX MSR, Dan Magenheimer
RE: [Xen-devel] RE: Saving/Restoring IA32_TSC_AUX MSR, Nakajima, Jun
RE: [Xen-devel] RE: Saving/Restoring IA32_TSC_AUX MSR, Dan Magenheimer
RE: [Xen-devel] RE: Saving/Restoring IA32_TSC_AUX MSR, Xu, Dongxiao
RE: [Xen-devel] RE: Saving/Restoring IA32_TSC_AUX MSR, Dan Magenheimer
RE: [Xen-devel] RE: Saving/Restoring IA32_TSC_AUX MSR, Xu, Dongxiao
RE: [Xen-devel] RE: Saving/Restoring IA32_TSC_AUX MSR, Zhang, Xiantao
RE: [Xen-devel] RE: Saving/Restoring IA32_TSC_AUX MSR, Dan Magenheimer
 |  |  |