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

From: Stefan Richter
Date: Fri Jun 08 2007 - 10:12:54 EST


Huang, Ying wrote:
>>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,

A bad API. Subsystems and the driver core will both traverse the trees
(usually just lists) which can be built from the depend pointers, and
the trees grow and shrink dynamically. Perhaps it would be simpler if
the subsystem would just use a mutex per group of devices which have to
be serialized.

*However*, IMO parallelized probing should be implemented in the
subsystems themselves in the first place, _not in the driver core_.

The subsystems know where parallelism is possible and safe and
effective, the driver core doesn't.
--
Stefan Richter
-=====-=-=== -==- -=---
http://arcgraph.de/sr/
-
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/