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

Ingo Molnar
2015-05-17T05:02:33Z

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

> On Thu, May 14, 2015 at 2:44 AM, Ingo Molnar <mingo@kernel.org> wrote:
>
> >
> >> BTW. this time can be reduced by 7% (113 ms) by deleting
> >> announce_cpu():
> >>
> >> [ 1.445815] x86: Booted up 4 nodes, 120 CPUs
> >
> > so that kind of info looks pretty useful, especially when there's
> > hangs/failures.
>
> I think the messages we print on failure are useful.
> I think the success case should be a 1-line summary.

But we usually don't know a failure until it happens, and then people
often don't know which quirky debug option to turn on before sending a
capture of the failure.

It also pretty compressed and looks kind of cool, especially with
larger CPU counts. Would love to see a 6K CPUs system boot up ;-)

> > I'm wondering what takes 113 msecs to print 120 CPUs - that's
> > about 1 msec per a few chars of printk produced, seems excessive.
> > Do you have any idea what's going on there? Does your system print
> > to a serial console perhaps?
>
> Yes, serial console -- that server is actually much
> closer to you than it is to me, it is in Finland:-)

LOL ;-)

> I should benchmark it, because 115200 should be faster...

So 115200 baud == 14400 bytes/sec == 14.4 bytes/msec == 0.07 msecs/byte

So with 120 CPUs we print about 5-6 chars per CPU, which is 6*120==720
bytes, which should take about 50 msecs.

So serial explains about half of the observed overhead.

Thanks,

Ingo