From: Sheng Yang <sheng.yang@intel.com>
To: Dave Jones <davej@redhat.com>,
Randy Dunlap <randy.dunlap@oracle.com>,
linux-kernel@vger.kernel.org
Subject: Re: [RFC PATCH]Multi-threaded Initcall with dependence support
Date: Mon, 4 Jun 2007 09:06:39 +0800 [thread overview]
Message-ID: <200706040906.39594.sheng.yang@intel.com> (raw)
In-Reply-To: <20070531202655.GD31153@redhat.com>
On Friday 01 June 2007 04:26, Dave Jones wrote:
> On Tue, May 29, 2007 at 09:47:53AM +0800, Yang Sheng wrote:
> > On Tuesday 29 May 2007 06:52, Randy Dunlap wrote:
> > > On Mon, 28 May 2007 15:03:10 +0800 Yang Sheng wrote:
> > > > Why we need this:
> > > >
> > > > It can speed up the calling of initcalls, especially useful for some
> > > > embed device.
> > >
> > > Can you give concrete example(s) of why we need this?
> > > Any real configs/hardware where it helps and how much it helps.
> >
> > We didn't got the precise data at hand now, because we should build a
> > complete stable initcall dependence relationship for it, but we can't do
> > it now.
> >
> > But we have done a relative stable test in a common x86_64 machine, with
> > 2 threads and one dependence relation(pnpacpi_init depends on pnp_init
> > and acpi_init). The result is the time spending on initcall calling
> > reducing from about _5s_ to _2s_ (make the kernel with the defconfig).
> > We analyzed the dmesg and found the most of time was save by run
> > ide_generic_init and piix_init in parallel.
> >
> > Of course the dependence in the test case is not sufficient, but the
> > effect is shown.
> >
> > We think this patch would be very useful in some embed deviced which
> > requires fast boot speed. Some server may benefit too because of it's
> > long time for device initiation.
>
> If we decide to do this, we should also introduce a way to disable it
> at runtime with initcall=noparallel or something. Why?
> Because right now when people say "my computer hangs during bootup"
> we can ask them to boot with initcall_debug and usually find out
> the last thing it did before it locked up. If we parallelise this,
> the output will be a lot harder to decipher.
Thank you for the advice. I will introduce a parameter to do this.
But what's about idea itself? I don't know whether people like this... It
required a little more work on initcall writing.
Maybe we could limit the multithread part in device_initcall? For it seems the
most time consumed here, and the others in total just less than 1s(at least
on my machine).
Thanks.
--
regards
Yang, Sheng
prev parent reply other threads:[~2007-06-04 1:07 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-05-28 7:03 [RFC PATCH]Multi-threaded Initcall with dependence support Yang Sheng
2007-05-28 22:52 ` Randy Dunlap
2007-05-29 1:47 ` Yang Sheng
2007-05-31 20:26 ` Dave Jones
2007-06-04 1:06 ` Sheng Yang [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200706040906.39594.sheng.yang@intel.com \
--to=sheng.yang@intel.com \
--cc=davej@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=randy.dunlap@oracle.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.