Re: smp: Start up non-boot CPUs asynchronously

From: Ingo Molnar
Date: Tue Jan 31 2012 - 11:12:40 EST



* Arjan van de Ven <arjan@xxxxxxxxxxxxx> wrote:

> On Tue, 31 Jan 2012 15:31:31 +0100
> Ingo Molnar <mingo@xxxxxxx> wrote:
>
> > >
> > > by inspection, anything that calls
> > > get_online_cpus()/put_online_cpus() will block while a CPU
> > > is coming up. This is used in things like
> > > kmem_cache_create()... which is used about everywhere.
> > > (there's various other places... more or less it's a
> > > requirement for using the for_each_online_cpu() api
> > > correctly)
> >
> > Still magic delays are not acceptable - we want to face any
> > remaining performance problems head on, we want to
> > understand and fix them correctly.
>
> it's not really a performance problem as it is an obvious "we
> have a ton of back-to-back writers on a read-write lock that
> we have quite a few readers for". Unless the writers back off
> a little, the readers are going to get starved.

I didn't think I'd ever quote Bush, but my reaction to that is:
'Bring it on!' ;-)

Really, we don't want *more* random delays in kernel code.

Thanks,

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/