RE: [PATCH] driver core: multithreaded device matching with dependency

From: Huang, Ying
Date: Fri Jun 08 2007 - 05:28:58 EST


>From: Stefan Richter [mailto:stefanr@xxxxxxxxxxxxxxxxx]
>
>How can subsystems control multithreaded vs. singlethreaded probes?
>
>For example, the IEEE 1394 subsystem should probe different nodes in
>parallel, but different units on the same node serially. Similar
>requirements exist with other hardware.

For subsystems specific dependency problems, a field as follow can be
added into struct device:

struct device *depend;

The parallel device probing code will not do probing for the device,
unless the device pointed by "depend" has been probed, that is, they are
probed serially. As for IEEE 1394 subsystem, when the subsystem adds new
devices, the different units on the same node are linked together with
the "depend" field, so that they can be probed serially. So do other
subsystems.

>Also, how can subsystems enable and disable multithreaded probes?

If subsystem needs strictly serial probing, it can accomplish this
through "depend" field as mentioned above.

>> +EXPORT_SYMBOL_GPL(device_match_freeze);
>> +EXPORT_SYMBOL_GPL(device_match_thaw);
>
>Their definitions lack kerneldoc comments.

Sorry, I will add it in the next version.

Best Regards,
Huang Ying
-
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/