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]