[Devel] Re: [PATCH] Set a separate lockdep class for neighbour table's proxy_queue

Jarek Poplawski jarkao2 at o2.pl
Thu Apr 19 06:02:57 PDT 2007


On 17-04-2007 21:46, David Miller wrote:
> From: Pavel Emelianov <xemul at sw.ru>
> Date: Mon, 16 Apr 2007 16:08:25 +0400
> 
>> Otherwise the following calltrace will lead to a wrong
>> lockdep warning:
>>
>>   neigh_proxy_process()
>>     `- lock(neigh_table->proxy_queue.lock);
>>   arp_redo /* via tbl->proxy_redo */
>>   arp_process
>>   neigh_event_ns
>>   neigh_update
>>   skb_queue_purge
>>     `- lock(neighbor->arp_queue.lock);
>>
>> This is not a deadlock actually, as neighbor table's proxy_queue
>> and the neighbor's arp_queue are different queues.
>>
>> Lockdep thinks there is a deadlock as both queues are initialized
>> with skb_queue_head_init() and thus have a common class.
> 
> Patch applied, thank you.
> 
> Please provide a proper "Signed-off-by: " line in future patch
...

And I'd suggest to attach a lockdep's log, or some reference to
it, for some born unbelievers...

Regards,
Jarek P.




More information about the Devel mailing list