Messages in this thread | | | Date | Tue, 31 Mar 2015 16:39:49 -0400 | From | Tejun Heo <> | Subject | Re: [PATCH v2 0/8] Asynchronous device/driver probing support |
| |
On Mon, Mar 30, 2015 at 04:20:02PM -0700, Dmitry Torokhov wrote: > This series is a combination of changes proposed by Luis a couple months > ago and implementation used by Chrome OS. The issue we are trying to solve > here is "slow" devices and drivers spending "too much time" in their probe() > methods and it affects: > > - overall kernel boot process when drivers are compiled into the kernel > and slow devices stall entire boot progress; > - systemd desire to time out module loading process. > > Unlike Luis' proposal we do make use of asycn_schedule() infrastructure > instead of using a dedicated workqueue, so all existing synchronization > points in kernel that wait for device registration still work the same. > Also, the asynchronous probing is done not only during driver registration > (i.e. when devices are probed asynchronously only if they are registered > before the driver), but also during device registration and deferred probe > handling. This way slow devices do not stall kernel boot even when drivers > are compiled into the kernel. > > The last patch is for adventurous people to try and force > fully-asynchronous boot. It works for me with limited success - I can boot > Rockhip-based box to userspace as long as I force serial to be sychronously > probed and ignore the fact that most devices are using "dummy" regulators > as regulator subsystem really expects regulators to be registered in > orderly fashion on OF-based systems. > > Changes from v1: > > - Changed verbage in change logs and code to emphasise that > PROBE_PREFER_ASYNCHRONOUS is a temporary measure and the end goal is > to enable asynchronous probing by default, as requested by Tejun.
Looks good to me. Please feel free to add
Acked-by: Tejun Heo <tj@kernel.org>
Thanks.
-- tejun
| |