>Holding agent->lock across cancel_delayed_work() (which does >del_timer_sync()) in ib_cancel_rmpp_recvs() leads to lockdep reports of >possible lock-timer deadlocks if a consumer ever does something that >connects agent->lock to a lock taken in IRQ context (cf >http://marc.info/?l=linux-rdma&m=125243699026045). > >However, it seems this locking is not necessary here, since the locking >did not prevent the rmpp_list from having an item added immediately >after the lock is dropped -- so there must be sufficient synchronization >protecting the rmpp_list without the locking here. Therefore, we can >fix the lockdep issue by simply deleting the locking.
The locking is needed to protect against items being removed from rmpp_list in recv_timeout_handler() and recv_cleanup_handler(). No new items should be added to the rmpp_list when ib_cancel_rmpp_recvs() is running (or there's a separate bug). - Sean _______________________________________________ general mailing list general@lists.openfabrics.org http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general