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

Pavel Emelianov xemul at sw.ru
Mon Apr 16 05:08:25 PDT 2007


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.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: diff-set-lockdep-class-for-neighbour-table-skb-list
URL: <http://lists.openvz.org/pipermail/devel/attachments/20070416/4bf98bb5/attachment-0001.ksh>


More information about the Devel mailing list