[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4FA345DA4F4AE44899BD2B03EEEC2FA9119886EE@SACEXCMBX04-PRD.hq.netapp.com>
Date: Thu, 3 Jan 2013 22:12:32 +0000
From: "Myklebust, Trond" <Trond.Myklebust@...app.com>
To: Tejun Heo <tj@...nel.org>
CC: "J. Bruce Fields" <bfields@...ldses.org>,
"Adamson, Dros" <Weston.Adamson@...app.com>,
Dave Jones <davej@...hat.com>,
Linux Kernel <linux-kernel@...r.kernel.org>,
"linux-nfs@...r.kernel.org" <linux-nfs@...r.kernel.org>
Subject: Re: nfsd oops on Linus' current tree.
On Thu, 2013-01-03 at 17:08 -0500, Tejun Heo wrote:
> Hello,
>
> On Thu, Jan 03, 2013 at 03:11:20PM -0500, J. Bruce Fields wrote:
> > Both rpciod and nfsiod already set WQ_MEM_RECLAIM.
> >
> > But, right, looking at kernel/workqueue.c, it seems that the dedicated
> > "rescuer" threads are invoked only in the case when work is stalled
> > because a new worker thread isn't allocated quickly enough.
>
> Because that's the *only* case where progress can't be guaranteed
> otherwise.
>
> > So, what to do that's simplest enough that it would work for
> > post-rc2/stable? I was happy having just a simple dedicated
> > thread--these are only started when nfsd is, so there's no real thread
> > proliferation problem.
>
> The analysis is likely completely wrong, so please don't go off doing
> something unnecessary. Please take look at what's causing the
> deadlocks again.
The analysis is a no-brainer:
We see a deadlock due to one work item waiting for completion of another
work item that is queued on the same CPU. There is no other dependency
between the two work items.
--
Trond Myklebust
Linux NFS client maintainer
NetApp
Trond.Myklebust@...app.com
www.netapp.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists