[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20070928134326.e3bb63b1.akpm@linux-foundation.org>
Date: Fri, 28 Sep 2007 13:43:26 -0700
From: Andrew Morton <akpm@...ux-foundation.org>
To: Trond Myklebust <trond.myklebust@....uio.no>
Cc: chakriin5@...il.com, linux-pm@...ts.linux-foundation.org,
linux-kernel@...r.kernel.org, nfs@...ts.sourceforge.net,
a.p.zijlstra@...llo.nl
Subject: Re: A unresponsive file system can hang all I/O in the system on
linux-2.6.23-rc6 (dirty_thresh problem?)
On Fri, 28 Sep 2007 16:32:18 -0400
Trond Myklebust <trond.myklebust@....uio.no> wrote:
> On Fri, 2007-09-28 at 13:10 -0700, Andrew Morton wrote:
> > On Fri, 28 Sep 2007 15:52:28 -0400
> > Trond Myklebust <trond.myklebust@....uio.no> wrote:
> >
> > > On Fri, 2007-09-28 at 12:26 -0700, Andrew Morton wrote:
> > > > On Fri, 28 Sep 2007 15:16:11 -0400 Trond Myklebust <trond.myklebust@....uio.no> wrote:
> > > > > Looking back, they were getting caught up in
> > > > > balance_dirty_pages_ratelimited() and friends. See the attached
> > > > > example...
> > > >
> > > > that one is nfs-on-loopback, which is a special case, isn't it?
> > >
> > > I'm not sure that the hang that is illustrated here is so special. It is
> > > an example of a bog-standard ext3 write, that ends up calling the NFS
> > > client, which is hanging. The fact that it happens to be hanging on the
> > > nfsd process is more or less irrelevant here: the same thing could
> > > happen to any other process in the case where we have an NFS server that
> > > is down.
> >
> > hm, so ext3 got stuck in nfs via __alloc_pages direct reclaim?
> >
> > We should be able to fix that by marking the backing device as
> > write-congested. That'll have small race windows, but it should be a 99.9%
> > fix?
>
> No. The problem would rather appear to be that we're doing
> per-backing_dev writeback (if I read sync_sb_inodes() correctly), but
> we're measuring variables which are global to the VM. The backing device
> that we are selecting may not be writing out any dirty pages, in which
> case, we're just spinning in balance_dirty_pages_ratelimited().
OK, so it's unrelated to page reclaim.
> Should we therefore perhaps be looking at adding per-backing_dev stats
> too?
That's what mm-per-device-dirty-threshold.patch and friends are doing.
Whether it works adequately is not really known at this time.
Unfortunately kernel developers don't test -mm much.
-
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