From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
To: Tejun Heo <tj@kernel.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
"Luis R . Rodriguez" <mcgrof@suse.com>,
linux-kernel@vger.kernel.org,
Arjan van de Ven <arjan@linux.intel.com>,
Rusty Russell <rusty@rustcorp.com.au>,
Olof Johansson <olof@lixom.net>,
Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Subject: Re: [PATCH 6/8] amd64_edac: enforce synchronous probe
Date: Wed, 18 Mar 2015 15:15:30 -0700 [thread overview]
Message-ID: <20150318221530.GK11485@dtor-ws> (raw)
In-Reply-To: <20150318215028.GF25365@htj.duckdns.org>
On Wed, Mar 18, 2015 at 05:50:28PM -0400, Tejun Heo wrote:
> Hello, Dmitry.
>
> On Wed, Mar 18, 2015 at 02:41:26PM -0700, Dmitry Torokhov wrote:
> > You are over-stating the boot order guarantees that storage provides.
> > Yes, you can scan devices and partitions simultaneously on the same
> > controller, but it will break if controllers are registered in different
> > order. And if you are delaying registering cone controller because
> > another that you consider "first" has not done probing, you are stalling
> > the boot process. It may be OK for "leaf" devices, which disks are
> > usually are, bit not when you delaying initialization of a device that
> > is in a middle of the device tree.
>
> Can't we make it "transitive"? Split ->probe() into two parts so that
> attaching the leaf devices run from the completion part of the split
> ->probe(). Sure, a lot of userlands we have nowadays can handle probe
> order changing but we stil have use cases where the order matters.
> Why introduce two separate behaviors when we can make the pararell
> ordering transitive?
So let's say that we we have 2 devices D1 and D2 which have
children C1 and C2 with leaves L1 and L2:
Device Probe time
D1 5
D2 1
C1 2
C2 4
L1 1
L2 1
If we run fully async we will need 8 units to probe everything
(max(D1+C1+L1, D2+C2+L2)). With pausing at each level we'd need 10
units (max(D1, D2) + max(C1, C2) + max(L1, L2).
>
> Doing things based on a big switch is going to create two largely
> separate modes of operations. For a lot of cases, the gain in boot
> time might not be enough to turn on the switch and we sure can't
> default to turning it on. This is a deviation we can avoid with
> reasonable amount of effort. The trade-off seems pretty clear to me.
As I mentioned, the benefit / trade-off depends on your point of view.
For servers nobody would care. For consumer devices it is very
important.
Thanks.
--
Dmitry
next prev parent reply other threads:[~2015-03-18 22:15 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-16 23:33 [PATCH 0/8] Asynchronous device/driver probing support Dmitry Torokhov
2015-01-16 23:33 ` [Cocci] [PATCH 1/8] module: add extra argument for parse_params() callback Dmitry Torokhov
2015-01-16 23:33 ` Dmitry Torokhov
2015-01-16 23:33 ` [PATCH 2/8] driver-core: add asynchronous probing support for drivers Dmitry Torokhov
2015-01-16 23:33 ` [PATCH 3/8] driver-core: add driver module asynchronous probe support Dmitry Torokhov
2015-01-16 23:33 ` [PATCH 4/8] driver-core: enable drivers to opt-out of async probe Dmitry Torokhov
2015-01-16 23:33 ` [PATCH 5/8] driver-core: platform_driver_probe() must probe synchronously Dmitry Torokhov
2015-01-16 23:33 ` [PATCH 6/8] amd64_edac: enforce synchronous probe Dmitry Torokhov
2015-03-18 16:56 ` Tejun Heo
2015-03-18 17:45 ` Dmitry Torokhov
2015-03-18 17:50 ` Dmitry Torokhov
2015-03-18 18:16 ` Tejun Heo
2015-03-18 18:23 ` Dmitry Torokhov
2015-03-18 18:27 ` Tejun Heo
2015-03-18 18:37 ` Dmitry Torokhov
2015-03-18 18:45 ` Tejun Heo
2015-03-18 19:36 ` Dmitry Torokhov
2015-03-18 19:51 ` Tejun Heo
2015-03-18 20:26 ` Dmitry Torokhov
2015-03-18 21:02 ` Tejun Heo
2015-03-18 21:41 ` Dmitry Torokhov
2015-03-18 21:50 ` Tejun Heo
2015-03-18 22:15 ` Dmitry Torokhov [this message]
2015-03-18 23:24 ` Tejun Heo
2015-03-19 0:26 ` Dmitry Torokhov
2015-03-19 15:41 ` Tejun Heo
2015-03-19 16:01 ` Dmitry Torokhov
2015-03-19 16:19 ` Tejun Heo
2015-03-19 17:04 ` Dmitry Torokhov
2015-01-16 23:33 ` [PATCH 7/8] module: add core_param_unsafe Dmitry Torokhov
2015-01-20 5:43 ` Rusty Russell
2015-01-16 23:33 ` [PATCH 8/8] driver-core: allow forcing async probing for modules and builtins Dmitry Torokhov
2015-02-03 23:12 ` [PATCH 0/8] Asynchronous device/driver probing support Dmitry Torokhov
2015-02-07 10:06 ` Greg Kroah-Hartman
2015-03-03 21:18 ` Dmitry Torokhov
2015-03-18 16:46 ` Dmitry Torokhov
-- strict thread matches above, loose matches on Subject: below --
2015-03-30 23:20 [PATCH v2 " Dmitry Torokhov
2015-03-30 23:20 ` [PATCH 6/8] amd64_edac: enforce synchronous probe Dmitry Torokhov
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=20150318221530.GK11485@dtor-ws \
--to=dmitry.torokhov@gmail.com \
--cc=arjan@linux.intel.com \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mcgrof@suse.com \
--cc=olof@lixom.net \
--cc=penguin-kernel@I-love.SAKURA.ne.jp \
--cc=rusty@rustcorp.com.au \
--cc=tj@kernel.org \
/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.