Re: [PATCH 2/2] xfs: mark the xfs-alloc workqueue as high priority

Tejun Heo
2015-01-13T20:51:03Z

Hello, Dave.

On Mon, Jan 12, 2015 at 02:30:15PM +1100, Dave Chinner wrote:
> So lock/wq ordering dependencies are:
>
> m_data_workqueue -> i_lock
> m_unwritten_workqueue -> i_lock -> xfs_alloc_wq -> m_buf_workqueue
> syscall -> i_lock -> xfs_alloc_wq -> m_buf_workqueue
>
> The issue we see is:
>
> process A: write(2) -> i_lock -> xfs_allow_wq
> kworkers: m_data_workqueue -> i_lock
> (blocked on process A work completion)
>
> Queued work: m_data_workqueue work, xfs_allow_wq work
>
> Queued work does not appear to be dispatched for some reason, wq
> concurrency depth does not appear to be exhausted and rescuer
> threads do not appear to be active. Something has gone wrong for
> the queued work to be stalled like this.

Yeah, this actually looks like a bug in the rescuer or manager
arbitration logic. I'm gonna see what's going on once Eric posts more
dumps.

Sorry about the trouble.

--
tejun