Re: [PATCH] Don't use a klist for drivers' set-of-devices

From: Dmitry Torokhov
Date: Thu Aug 11 2005 - 15:30:07 EST


On 8/11/05, Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote:
> On Thu, 11 Aug 2005, Christoph Hellwig wrote:
>
> > On Thu, Aug 11, 2005 at 11:24:23AM -0700, Greg KH wrote:
> > > > This patch (as536) simplifies the driver-model core by replacing the klist
> > > > used to store the set of devices bound to a driver with a regular list
> > > > protected by a mutex. It turns out that even with a klist, there are too
> > > > many opportunities for races for the list to be used safely by more than
> > > > one thread at a time. And given that only one thread uses the list at any
> > > > moment, there's no need to add all the extra overhead of making it a
> > > > klist.
> > >
> > > Hm, but that was the whole reason to go to a klist in the first place.
> >
> > And shows once more that the klist approach was totally misguided.
>
> I'll let Pat answer Christoph's comment.
>
> Do note that the bus's list of devices and the bus's list of registered
> drivers are still klists. Only the driver's list of bound devices gets
> reverted to a normal list.
>

Hmm, so what do I do in the following scenario - I have a serio port
(AUX) that has a synaptics touchpad bound to it which is driven by
psmouse driver. psmouse driver registers a child port (synaptics
pass-through) during probe call. The child port is also driven by
psmouse module - but it looks like it will deadlock when binding.

Am I missing something here?

--
Dmitry
-
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/