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

[Xen-users] xen clocksource and TSC

Hello all,

I'm working on manipulating the pv_soft_rdtsc() function in arch/x86/time.c. In a paravirtualized 64-bit Fedora 20 domain, with tsc_mode="always_emulate" and "xen" as the current_clocksource, I find that if the domain is running and then the TSC value written to EAX/EDX is changed in pv_soft_rdtsc to be higher (faster) than normal, the passage of wallclock time in the domain appears faster (expected). However, if it is less than normal (slower), I would expect wallclock time to appear slower, but instead the domain freezes and eventually the watchdog timer is fired and it shuts down. If I set the clocksource for Fedora to TSC, I see the passage of time slow down for a varying amount of time (sometimes seconds, sometimes minutes) but eventually again the domain hangs and the watchdog timer fires. There are no messages in xl dmesg that indicate the domain is having problems (aside from the watchdog messages), so I'm having trouble determining what is causing this behavior.

I know that when the domain is created, there are time scales set to convert TSC ticks to real-time, and vice-versa, for timekeeping purposes. I figured that if these scales remained the same, changing the TSC values would change wallclock time in the domain. What else might I need to consider, and/or, is this even possible on a running domain? Does changing the TSC value in pv_soft_rdtsc affect other parts of the hypervisor (scheduling, etc) which might be affecting the domain? I know this may not be easy to answer, but any direction or input would be very appreciated.


Xen-users mailing list



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