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

From: Jarek Poplawski
Date: Thu Apr 19 2007 - 08:57:38 EST


On 17-04-2007 21:46, David Miller wrote:
> From: Pavel Emelianov <xemul@xxxxx>
> 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.
-
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/