Messages in this thread | | | From | Wanpeng Li <> | Date | Mon, 27 Feb 2017 21:48:35 +0800 | Subject | Re: tip.today - scheduler bam boom crash (cpu hotplug) |
| |
2017-02-27 20:43 GMT+08:00 Peter Zijlstra <peterz@infradead.org>: > 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.
The patch tries to mark sched clock stable if KVM_FEATURE_CLOCKSOURCE_STABLE_BIT / PVCLOCK_TSC_STABLE_BIT is set in kvm guest even if there is no invariant tsc cpuid bit.
Regards, Wanpeng Li
| |