Re: tip.today - scheduler bam boom crash (cpu hotplug)

From: Peter Zijlstra
Date: Mon Feb 27 2017 - 07:46:07 EST


On Mon, Feb 27, 2017 at 08:30:11PM +0800, Wanpeng Li wrote:

> > diff --git a/arch/x86/kernel/kvmclock.c b/arch/x86/kernel/kvmclock.c
> > index 2a5cafd..542710b 100644
> > --- a/arch/x86/kernel/kvmclock.c
> > +++ b/arch/x86/kernel/kvmclock.c
> > @@ -107,12 +107,12 @@ static inline void kvm_sched_clock_init(bool stable)
> > {
> > if (!stable) {
> > pv_time_ops.sched_clock = kvm_clock_read;
> > + clear_sched_clock_stable();
> > return;
> > }
> >
> > kvm_sched_clock_offset = kvm_clock_read();
> > pv_time_ops.sched_clock = kvm_sched_clock_read;
> > - set_sched_clock_stable();
>
> This results in sched clock always unstable for kvm guest since there
> is no invariant tsc cpuid bit exposed for kvm guest currently.

What the heck is KVM_FEATURE_CLOCKSOURCE_STABLE_BIT /
PVCLOCK_TSC_STABLE_BIT about then?

> How about something like below(untested):

I have no clue what that tries to do.