Messages in this thread | | | Date | Wed, 18 Mar 2015 17:50:28 -0400 | From | Tejun Heo <> | Subject | Re: [PATCH 6/8] amd64_edac: enforce synchronous probe |
| |
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?
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.
Thanks.
-- tejun
| |