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

From: Ming Lei
Date: Fri Feb 20 2009 - 20:28:45 EST


2009/2/20 Arjan van de Ven <arjan@xxxxxxxxxxxxx>:
> 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()!

I patch patch-v2.6.29-rc5-next-20090220.gz against v2.6.29-rc5
directly to build
the linux-next tree(it is quicker for me),so I don't know why you add
async_synchronize_full()
in driver core and seems it doesn't matter with driver core.

Would you mind that I resend a patch,which does
async_synchronize_full() after
driver_wait_probe_done() in do_mounts.c or do_mounts_md.c ?

>
>
>> - 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.

OK, I will use wait_for_device_probe().

>
>
> --
> Arjan van de Ven Intel Open Source Technology Centre
> For development, discussion and tips for power savings,
> visit http://www.lesswatts.org
>



--
Lei Ming
--
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/