xfs
[Top] [All Lists]

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

To: Dave Chinner <david@xxxxxxxxxxxxx>
Subject: Re: [PATCH 2/2] xfs: mark the xfs-alloc workqueue as high priority
From: Tejun Heo <tj@xxxxxxxxxx>
Date: Tue, 13 Jan 2015 15:50:56 -0500
Cc: Eric Sandeen <sandeen@xxxxxxxxxxx>, Eric Sandeen <sandeen@xxxxxxxxxx>, xfs-oss <xfs@xxxxxxxxxxx>
Delivered-to: xfs@xxxxxxxxxxx
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-type:content-disposition:in-reply-to:user-agent; bh=GA0LCOvsORJGUFGxsFpsZxT2bh9oBFFd0E1kNq/RHpU=; b=oP2MuvRGrF7+uKwm5+/T5SiUZBlSJfSmn0SqZJeCtoPwyYgaoqNWpv8ClRdpxVhhUC VjXVvQxJ7XVfNGsA6wXuJ4EWc47xHnaDMoGsQzux/ondqyd9qiJD/rKG82LIrbbkRXeD GkWxGrJaY/6wQoZWCvc8qO+iusM73M8gv8EnBnia2Q8xPfHmeirkHLILjcEeh/8t51lT loEz7gohXB+gedaT8TssioPf8r7JRIVmVRf4K1gmJsC09Qmd7fHAeo5W9xtqXjP/gjLu 22BjsT+tWl57Llj4cidKx6Fl1RjT153dSwcu1CRGBY/TfGEX6bEGNXnHDoWpghYyyMcj PaTA==
In-reply-to: <20150112033015.GB29484@destitution>
References: <54B01927.2010506@xxxxxxxxxx> <54B019F4.8030009@xxxxxxxxxxx> <20150109182310.GA2785@xxxxxxxxxxxxxx> <20150109232815.GL31508@dastard> <20150110174133.GC25319@xxxxxxxxxxxxxx> <20150112033015.GB29484@destitution>
Sender: Tejun Heo <htejun@xxxxxxxxx>
User-agent: Mutt/1.5.23 (2014-03-12)
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

<Prev in Thread] Current Thread [Next in Thread>