Messages in this thread | | | Date | Wed, 18 Mar 2015 17:02:26 -0400 | From | Tejun Heo <> | Subject | Re: [PATCH 6/8] amd64_edac: enforce synchronous probe |
| |
Hello,
On Wed, Mar 18, 2015 at 01:26:05PM -0700, Dmitry Torokhov wrote: > Tejun, I lost you here. Certainly you are not arguing for going through > the drivers one by one and making their module init code to engage > async_schedule to continue the device creation in link order (well, > sorta, since deferred probing already violates it).
Kind of, yes, but not by driver-by-driver, but by subsystem. I don't think we have too many subsystems where probing order matters and the ordering only matters within each subsystem.
> Also, it is not only kernel that may not be prepared for asynchronous > probing, but userspace as well. And I do not think that we should be > working towards preserving the init order in the long run as more and > more bits become hot pluggable and we should be able to handle devices > come and go gracefully anyway.
It's not about supporting or not supporting hotplugging. Most of the storage devices support hotplugging but still maintain boot order and at least for storage devices there are pretty good reasons for doing so especially as we can do so w/o giving up on parallel probing. The problem is that if you hinge enabling of general async probing on virtually all userlands being okay with storage devices (or ttyS devices and so on), we won't be able to enable this, ever.
This is a solvable problem. Making e.g. SCSI host probing transitive in terms of probe ordering shouldn't be too difficult. We can't add a generic async probing mechanism at the driver layer ignoring this aspect.
Thanks.
-- tejun
| |