Re: [PATCH] x86: skip delays during SMP initialization similar to Xen

Ingo Molnar
2015-05-07T10:24:03Z

* Len Brown <lenb@kernel.org> wrote:

> > So I really like this, as it nicely side-steps the 'when should we
> > do the legacy delays' issue by flagging on x2apic support.
> >
> > If anyone has objections, please holler.
>
> We should have no delays even for many processors that lack x2apic.

Yes, agreed, but this looks like a good (and safe) first step:
especially systems that have large CPU counts tend to have x2apic
support - and that is where such a change matters most.

I'm not against doing a zero delay approach either, if it can be
triggered robustly.

Here's what the boot time looks like on a 120 CPUs system, with the
patch applied:

[ 0.558947] x86: Booting SMP configuration:
[ 0.563375] .... node #0, CPUs: #1 #2 #3 #4 #5 #6 #7 #8 #9 #10 #11 #12 #13 #14
[ 0.644851] .... node #1, CPUs: #15 #16 #17 #18 #19 #20 #21 #22 #23 #24 #25 #26 #27 #28 #29
[ 0.830474] .... node #2, CPUs: #30 #31 #32 #33 #34 #35 #36 #37 #38 #39 #40 #41 #42 #43 #44
[ 1.016357] .... node #3, CPUs: #45 #46 #47 #48 #49 #50 #51 #52 #53 #54 #55 #56 #57 #58 #59
[ 1.202342] .... node #0, CPUs: #60 #61 #62 #63 #64 #65 #66 #67 #68 #69 #70 #71 #72 #73 #74
[ 1.283864] .... node #1, CPUs: #75 #76 #77 #78 #79 #80 #81 #82 #83 #84 #85 #86 #87 #88 #89
[ 1.397131] .... node #2, CPUs: #90 #91 #92 #93 #94 #95 #96 #97 #98 #99 #100 #101 #102 #103 #104
[ 1.510417] .... node #3, CPUs: #105 #106 #107 #108 #109 #110 #111 #112 #113 #114 #115 #116 #117 #118 #119
[ 1.620967] x86: Booted up 4 nodes, 120 CPUs
[ 1.625928] smpboot: Total of 120 processors activated (672866.16 BogoMIPS)

1.1 seconds to boot 120 CPUs, 10.8 seconds to hit init, that's an
entirely reasonable runtime I think.

It was 20+ seconds before that, 10+ seconds for the SMP bootup
sequence.

Thanks,

Ingo