Messages in this thread | | | Date | Fri, 19 Sep 2014 16:44:23 +0100 | From | Aaron Tomlin <> | Subject | Re: [RFC PATCH] fs: Use a seperate wq for do_sync_work() to avoid a potential deadlock |
| |
On Thu, Sep 18, 2014 at 07:16:13AM +1000, Dave Chinner wrote: > > - Both lru_add_drain and do_sync_work work items are added to > > the same global system_wq > > > > - The current work fn on the system_wq is do_sync_work and is > > blocked waiting to aquire an sb's s_umount for reading > > > > - The umount task is the current owner of the s_umount in > > question but is waiting for do_sync_work to continue. > > Thus we hit a deadlock situation. > > What kernel did you see this deadlock on?
Sorry for the noise. This deadlock was produced under a kernel whereby the workqueue implementation is significantly less sophisticated.
-- Aaron Tomlin
| |