Re: [PATCH 2/8] driver-core: add asynchronous probing support for drivers

Dan Williams
2015-07-09T00:43:32Z

On Mon, Jul 6, 2015 at 4:38 PM, Dmitry Torokhov
<dmitry.torokhov@gmail.com> wrote:
> On Sat, Jul 04, 2015 at 07:09:19AM -0700, Dan Williams wrote:
>> The problem I ran into was needing to remove devices that still had
>> yet to be probed and not being able to use registration completion vs
>> the device_lock() to effectively synchronize the sub-system.
>
> Why do you need to "synchronize the sub-system"? The asynchronous
> probing should be transparent to the driver. Just unregister the device
> (or the driver) and driver core will ensure that probe() is not in
> flight.

Async registration is indeed transparent to the driver. The primary
need to "flush registration" is the case of "region" devices that
reference a set of NVDIMM devices. A region device requires all
related NVDIMMs to be active before the region can be enabled.

I'll look into a more concrete example of the tradeoffs between
asynchronous probing vs registration.