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

From: Paolo Bonzini
Date: Mon Feb 27 2017 - 07:51:40 EST




On 27/02/2017 13:43, Peter Zijlstra wrote:
> 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?

It checks that all the bugs in the host have been ironed out, and that
the host itself supports invtsc.

Paolo