linux/drivers/infiniband/ulp/ipoib
Doug Ledford 1c0453d64a IB/ipoib: drop mcast_mutex usage
We needed the mcast_mutex when we had to prevent the join completion
callback from having the value it stored in mcast->mc overwritten
by a delayed return from ib_sa_join_multicast.  By storing the return
of ib_sa_join_multicast in an intermediate variable, we prevent a
delayed return from ib_sa_join_multicast overwriting the valid
contents of mcast->mc, and we no longer need a mutex to force the
join callback to run after the return of ib_sa_join_multicast.  This
allows us to do away with the mutex entirely and protect our critical
sections with a just a spinlock instead.  This is highly desirable
as there were some places where we couldn't use a mutex because the
code was not allowed to sleep, and so we were currently using a mix
of mutex and spinlock to protect what we needed to protect.  Now we
only have a spin lock and the locking complexity is greatly reduced.

Signed-off-by: Doug Ledford <dledford@redhat.com>
2015-04-15 16:06:18 -04:00
..
ipoib_cm.c IB/ipoib: Use dedicated workqueues per interface 2015-04-15 16:06:18 -04:00
ipoib_ethtool.c net: get rid of SET_ETHTOOL_OPS 2014-05-13 17:43:20 -04:00
ipoib_fs.c IPoIB: Remove unnecessary test for NULL before debugfs_remove() 2014-08-12 21:59:54 -07:00
ipoib_ib.c IB/ipoib: No longer use flush as a parameter 2015-04-15 16:06:18 -04:00
ipoib_main.c IB/ipoib: No longer use flush as a parameter 2015-04-15 16:06:18 -04:00
ipoib_multicast.c IB/ipoib: drop mcast_mutex usage 2015-04-15 16:06:18 -04:00
ipoib_netlink.c
ipoib_verbs.c IB/ipoib: Use dedicated workqueues per interface 2015-04-15 16:06:18 -04:00
ipoib_vlan.c infiniband/ipoib: implement ndo_get_iflink 2015-04-02 14:05:01 -04:00
ipoib.h IB/ipoib: fix MCAST_FLAG_BUSY usage 2015-04-15 16:06:18 -04:00
Kconfig
Makefile