Re: [PATCH 2/8] IPoIB: Make the carrier_on_task race aware

2014-09-09 Thread Doug Ledford
On 09/04/2014 08:13 AM, Erez Shitrit wrote: We blindly assume that we can just take the rtnl lock and that will prevent races with downing this interface. Unfortunately, that's not the case. In ipoib_mcast_stop_thread() we will call flush_workqueue() in an attempt to clear out all remaining ins

Re: [PATCH 2/8] IPoIB: Make the carrier_on_task race aware

2014-09-04 Thread Erez Shitrit
We blindly assume that we can just take the rtnl lock and that will prevent races with downing this interface. Unfortunately, that's not the case. In ipoib_mcast_stop_thread() we will call flush_workqueue() in an attempt to clear out all remaining instances of ipoib_join_task. But, since this ta

Re: [PATCH 2/8] IPoIB: Make the carrier_on_task race aware

2014-08-19 Thread Wendy Cheng
On Tue, Aug 19, 2014 at 1:32 PM, Doug Ledford wrote: > Whether or not the core network code is OK with us dropping the rtnl lock > while manipulating the interface is the issue here. However, I did consider > changing the mcast_mutex to a per interface lock instead. The are various > optimiza

Re: [PATCH 2/8] IPoIB: Make the carrier_on_task race aware

2014-08-19 Thread Doug Ledford
Whether or not the core network code is OK with us dropping the rtnl lock while manipulating the interface is the issue here. However, I did consider changing the mcast_mutex to a per interface lock instead. The are various optimizations that can be made now that the locking is correct and rac

Re: [PATCH 2/8] IPoIB: Make the carrier_on_task race aware

2014-08-18 Thread Wendy Cheng
On Tue, Aug 12, 2014 at 4:38 PM, Doug Ledford wrote: > We blindly assume that we can just take the rtnl lock and that will > prevent races with downing this interface. Unfortunately, that's not > the case. In ipoib_mcast_stop_thread() we will call flush_workqueue() > in an attempt to clear out a

[PATCH 2/8] IPoIB: Make the carrier_on_task race aware

2014-08-12 Thread Doug Ledford
We blindly assume that we can just take the rtnl lock and that will prevent races with downing this interface. Unfortunately, that's not the case. In ipoib_mcast_stop_thread() we will call flush_workqueue() in an attempt to clear out all remaining instances of ipoib_join_task. But, since this tas