Re: [PATCH 0/3] Synaptics - fix lockdep warnings

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 9/14/06, Jiri Kosina <[email protected]> wrote:
On Wed, 13 Sep 2006, Dmitry Torokhov wrote:

> Unfortunately these patches do not solve the problem in general but
> rather fix one specific codepath. As far as I can see the warnings will
> return as soon as we add another pass-through port to the link (and I am
> considering adding a pass-through port to the trackpoint driver so you
> will get chain like i8042-synaptics-ptport-trackpoint-ptport-psmouse).
> Plus they are ugly and complicate serio and psmouse cores. I really
> don't like this *_nested business as it makes the code aware of possible
> usage patterns instead of just being re-entrant.

Hi Dmitry,

I agree that these patches are ugly, but I wasn't able to think of any
other way how to get rid of those lockdep warnings.

Of course the lock validator could be extended to provide API such as
mutex_init_nolockdep(), as you already proposed before, but this also has
it's drawbacks (for example if any other future user of ps2_init() uses
the mutex in a really bad way, this would not be detected by lock
validator).

Another possibility that comes to mind is extending the ps2dev structure
with a field which would work as an subclass identifier for the device,
and this field will be then be used as an subclass argument to
mutex_lock_nested(). However, this requires proper setting of this field
on the very same places on which my _nested functions are called, so it
has the same level of generality.


Can we add lock_class_key to the struct psmouse and use it to define
per-device mutex class regardless of whether it is a child, grandchild
or a parent?

Do you have any other idea? I think this should get fixed, otherwise we
will keep receiving these reports from users again and again.


If we can't make lockdep shut up with minimal intervention I might
just change psmouse back to semaphores.

--
Dmitry
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux