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

From: Peter Zijlstra
Date: Wed Mar 01 2017 - 09:18:55 EST


On Wed, Mar 01, 2017 at 09:39:18PM +0800, Wanpeng Li wrote:
> 2017-02-28 16:11 GMT+08:00 Wanpeng Li <kernellwp@xxxxxxxxx>:
> > 2017-02-28 16:08 GMT+08:00 Peter Zijlstra <peterz@xxxxxxxxxxxxx>:
> >> On Tue, Feb 28, 2017 at 09:51:07AM +0800, Wanpeng Li wrote:
> >>> diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c
> >>> index 4e95b2e..ed8eda4 100644
> >>> --- a/arch/x86/kernel/cpu/amd.c
> >>> +++ b/arch/x86/kernel/cpu/amd.c
> >>> @@ -557,7 +557,7 @@ static void early_init_amd(struct cpuinfo_x86 *c)
> >>> set_cpu_cap(c, X86_FEATURE_NONSTOP_TSC);
> >>> if (check_tsc_unstable())
> >>> clear_sched_clock_stable();
> >>> - } else {
> >>> + } else if (!boot_cpu_has(X86_FEATURE_HYPERVISOR)) {
> >>> clear_sched_clock_stable();
> >>> }
> >>
> >> That's wrong, you can have HYPERVISOR and still use
> >> native_sched_clock() (lguest does that for one).
> >
> > My posting delay to check this in tsc_init().
>
> Does it make sense?

It makes confusion from where I'm sitting. Please look at that latest
patch I send. I think it should work, but in case you have doubts, try
and find the holes.

http://lkml.kernel.org/r/20170228080855.GV6515@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

That marries the sched_clock stable to the existing TSC stable machinery
and removes a bunch of quirks.