Re: [PATCH] [PATCH/RESEND] driver core: remove polling fordriver_probe_done(v4)

From: Arjan van de Ven
Date: Fri Feb 20 2009 - 10:33:48 EST


On Fri, 20 Feb 2009 22:17:27 +0800
tom.leiming@xxxxxxxxx wrote:

> From: Ming Lei <tom.leiming@xxxxxxxxx>
>
> This patch adds a function : driver_wait_probe_done,
> which waits on condition of probing done to replace
> polling for driver_probe_done in fs initialization.
>
> There is no better way to avoid polling for
> driver_probe_done _and_ existence of the root device,
> so we does not replace the driver_probe_done with
> driver_wait_probe_done in such special case.
>
> Removing polling in fs initialization may lead to
> a faster boot.
>
> This patch is against the latest linux-next tree.

you broke it i this revision though

> -int wait_for_device_probe(void)
> +void driver_wait_probe_done(void)
> {
> - /* wait for the known devices to complete their probing */
> - while (driver_probe_done() != 0)
> - msleep(100);
> - async_synchronize_full();
> - return 0;
> + pr_debug("%s: probe_count = %d\n", __func__,
> + atomic_read(&probe_count));
> + wait_event(probe_waitqueue, atomic_read(&probe_count) == 0);


You lost the async_synchronize_full()!


> - wait_for_device_probe();
> + driver_wait_probe_done();

I also don't understand why you rename the function..
wait_for_device_probe() is not a bad name ;)
Sounds like a gratuitous change to me.


--
Arjan van de Ven Intel Open Source Technology Centre
For development, discussion and tips for power savings,
visit http://www.lesswatts.org
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/