Patchwork A soft lockup in vxlan module

login
register
mail settings
Submitter Amerigo Wang
Date Aug. 7, 2013, 6:47 a.m.
Message ID <1375858030.11370.25.camel@cr0>
Download mbox | patch
Permalink /patch/265346/
State RFC
Delegated to: David Miller
Headers show

Comments

Amerigo Wang - Aug. 7, 2013, 6:47 a.m.
On Tue, 2013-08-06 at 21:13 -0700, Stephen Hemminger wrote:
> 
> Probably the flush_workqueue can just be removed and let the normal
> refcounting work. The workqueue has a reference to device and socket,
> therefore the cleanups should work correctly.

Sounds reasonable, I am testing the following patch:

        spin_unlock(&vn->sock_lock);


--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c
index 8bf31d9..c51ef9b 100644
--- a/drivers/net/vxlan.c
+++ b/drivers/net/vxlan.c
@@ -1837,8 +1837,6 @@  static void vxlan_dellink(struct net_device *dev,
struct list_head *head)
        struct vxlan_net *vn = net_generic(dev_net(dev), vxlan_net_id);
        struct vxlan_dev *vxlan = netdev_priv(dev);
 
-       flush_workqueue(vxlan_wq);
-
        spin_lock(&vn->sock_lock);
        hlist_del_rcu(&vxlan->hlist);