[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] xen: always set the sched clock as unstable
>>> On 13.04.12 at 20:20, David Vrabel <david.vrabel@xxxxxxxxxx> wrote: > From: David Vrabel <david.vrabel@xxxxxxxxxx> > > The sched clock was considered stable based on the capabilities of the > underlying hardware. This does not make sense for Xen PV guests as: > a) the hardware TSC is not used directly as the clock source; and b) > guests may migrate to hosts with different hardware capabilities. > > It is not clear to me whether the Xen clock source is supposed to be > stable and whether it should be stable across migration. For a clock > source to be stable it must be: a) monotonic; c) synchronized across > CPUs; and c) constant rate. > > There have also been reports of systems with apparently unstable > clocks where clearing sched_clock_stable has fixed problems with > migrated VMs hanging. > > So, always set the sched clock as unstable when using the Xen clock > source. > > Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> > --- > arch/x86/xen/time.c | 1 + > 1 files changed, 1 insertions(+), 0 deletions(-) > > diff --git a/arch/x86/xen/time.c b/arch/x86/xen/time.c > index 0296a95..8469b5a 100644 > --- a/arch/x86/xen/time.c > +++ b/arch/x86/xen/time.c > @@ -473,6 +473,7 @@ static void __init xen_time_init(void) > do_settimeofday(&tp); > > setup_force_cpu_cap(X86_FEATURE_TSC); > + sched_clock_stable = 0; This, unfortunately, is not sufficient afaict: If a CPU gets brought up post-boot, the variable may need to be cleared again. Instead you ought to call mark_tsc_unstable(). Jan > > xen_setup_runstate_info(cpu); > xen_setup_timer(cpu); > -- > 1.7.2.5 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |