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

[Xen-devel] RE: Saving/Restoring IA32_TSC_AUX MSR



Hi Jun --

Xen doesn't expose the TSC rdtscp bit so assumes that
no guests depend on it.  So no save/restore of TSC_AUX
is necessary.  Xen could provide support for the TSC
rdtscp bit and allow a guest OS to manage TSC_AUX, but
the existing use of TSC_AUX by Linux would fail to
provide the desired result across migration, so there's
little point.  Also the pvrdtscp algorithm now assumes
that Xen itself is responsible for updating TSC_AUX
whenever a migration (across physical machines) occurs.

The #define for write_rdtscp_aux is from Linux source,
so I didn't change the code and define the constant.

Dan

> -----Original Message-----
> From: Nakajima, Jun [mailto:jun.nakajima@xxxxxxxxx]
> Sent: Wednesday, December 09, 2009 9:42 AM
> To: xen-devel@xxxxxxxxxxxxxxxxxxx
> Cc: Dan Magenheimer
> Subject: Saving/Restoring IA32_TSC_AUX MSR
> 
> 
> I see the code like (in arch/x86/time.c), and wondering how 
> IA32_TSC_AUX MSR is saved/restored at domain switch time.
> 
>     if ( (d->arch.tsc_mode ==  TSC_MODE_PVRDTSCP) &&
>          boot_cpu_has(X86_FEATURE_RDTSCP) )
>         write_rdtscp_aux(d->arch.incarnation);
> 
> BTW,
> 
> include/asm-x86/msr.h
> #define write_rdtscp_aux(val) wrmsr(0xc0000103, (val), 0)
> 
> We should write like wrmsr(MSR_TSC_AUX, (val), 0) by adding 
> +#define MSR_TSC_AUX          0xc0000103 /* Auxiliary TSC */
> in include/asm-x86/msr-index.h
> 
> Thanks,
> Jun
> ---
> Intel Open Source Technology Center
> 
>

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.