Re: [RFC] bonding: fix workqueue re-arming races
From: Jarek Poplawski <hidden>
Date: 2010-09-01 15:37:36
On Wed, Sep 01, 2010 at 05:18:56PM +0200, Jarek Poplawski wrote:
On Wed, Sep 01, 2010 at 03:30:56PM +0200, Jiri Bohac wrote:quoted
On Wed, Sep 01, 2010 at 12:23:56PM +0000, Jarek Poplawski wrote:quoted
On 2010-08-31 22:54, Jay Vosburgh wrote:quoted
What prevents this from deadlocking such that cpu A is in bond_close, holding RTNL and in cancel_delayed_work_sync, while cpu B is in the above function, trying to acquire RTNL?I guess this one isn't cancelled in bond_close, so it should be safe.Nah, Jay was correct. Although this work item is not explicitly cancelled with cancel_delayed_work_sync(), it is on the same workqueue as work items that are being cancelled with cancel_delayed_work_sync(), so this can still cause a deadlock. Fixed in the new version of the patch by putting these on a separate workqueue.Maybe I miss something, but the same workqueue shouldn't matter here.
Hmm... I missed your point completely and Jay was correct! Sorry, Jarek P.