[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CANRm+Cy6yZtQcHx4K_S30RLjHgjze5JEFUBkziCVtUu9C4FfqQ@mail.gmail.com>
Date: Mon, 27 Feb 2017 21:48:35 +0800
From: Wanpeng Li <kernellwp@...il.com>
To: Peter Zijlstra <peterz@...radead.org>
Cc: Mike Galbraith <efault@....de>,
LKML <linux-kernel@...r.kernel.org>, Ingo Molnar <mingo@...e.hu>,
Thomas Gleixner <tglx@...utronix.de>,
Borislav Petkov <bp@...en8.de>,
Paolo Bonzini <pbonzini@...hat.com>
Subject: Re: tip.today - scheduler bam boom crash (cpu hotplug)
2017-02-27 20:43 GMT+08:00 Peter Zijlstra <peterz@...radead.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
Powered by blists - more mailing lists