Re: Question on lockdep and sysrq - d

From: Ming Lei
Date: Sat May 23 2009 - 08:34:15 EST


2009/5/23 Ben Greear <greearb@xxxxxxxxxxxxxxx>:
> Ming Lei wrote:
>>
>> See http://marc.info/?l=linux-kernel&m=124211522525625&w=2.
>>
>
> That is about some real bug in the official kernel.  I am almost 100%
> certain that my own code is at fault here.
>
> I'm just trying to better understand the way lockdep prints out
> all of the locks so I can easier debug my issue.

Would you mind posting the whole lockdep warnings in your issue?

Thanks.

>
> Thanks,
> Ben
>
>> thanks.
>>
>> 2009/5/23 Ben Greear <greearb@xxxxxxxxxxxxxxx>:
>>
>>>
>>> Hello!
>>>
>>> I'm trying to debug an apparent deadlock in some code I'm
>>> writing.
>>>
>>> When I do a sysrq 'd', I get a nice dump of locks (I have lockdep
>>> enabled).
>>>
>>> However, the output appears to show multiple processes holding the
>>> same locks (rtnl_mutex, for example):
>>>
>>> Showing all locks held in the system:
>>> 3 locks held by events/11/63:
>>>  #0:  (events){--..}, at: [<ffffffff8104f71e>] run_workqueue+0xb1/0x216
>>>  #1:  ((linkwatch_work).work){--..}, at: [<ffffffff8104f71e>]
>>> run_workqueue+0xb1/0x216
>>>  #2:  (rtnl_mutex){--..}, at: [<ffffffff8125def1>] rtnl_lock+0x12/0x14
>>> 1 lock held by irqbalance/3360:
>>>  #0:  (rtnl_mutex){--..}, at: [<ffffffff8125def1>] rtnl_lock+0x12/0x14
>>> 1 lock held by hald/3605:
>>>  #0:  (rtnl_mutex){--..}, at: [<ffffffff8125def1>] rtnl_lock+0x12/0x14
>>> ...
>>>
>>> Is this merely showing processes that are blocked on trying to acquire
>>> these
>>> locks?
>>>
>>> If so, is there any way to tell which processes have fully acquired locks
>>> v/s
>>> just waiting to acquire them?
>>>
>>> Thanks,
>>> Ben
>>>
>
> --
> Ben Greear <greearb@xxxxxxxxxxxxxxx> Candela Technologies Inc
>  http://www.candelatech.com
>
>
>



--
Lei Ming
--
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/