[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1177308889.26937.1.camel@twins>
Date: Mon, 23 Apr 2007 08:14:49 +0200
From: Peter Zijlstra <a.p.zijlstra@...llo.nl>
To: Miklos Szeredi <miklos@...redi.hu>
Cc: akpm@...ux-foundation.org, linux-mm@...ck.org,
linux-kernel@...r.kernel.org, neilb@...e.de, dgc@....com,
tomoki.sekiyama.qu@...achi.com, nikita@...sterfs.com,
trond.myklebust@....uio.no, yingchao.zhou@...il.com
Subject: Re: [PATCH 10/10] mm: per device dirty threshold
On Sat, 2007-04-21 at 22:25 +0200, Miklos Szeredi wrote:
> > > The other deadlock, in throttle_vm_writeout() is still to be solved.
> >
> > Let's go back to the original changelog:
> >
> > Author: marcelo.tosatti <marcelo.tosatti>
> > Date: Tue Mar 8 17:25:19 2005 +0000
> >
> > [PATCH] vm: pageout throttling
> >
> > With silly pageout testcases it is possible to place huge amounts of memory
> > under I/O. With a large request queue (CFQ uses 8192 requests) it is
> > possible to place _all_ memory under I/O at the same time.
> >
> > This means that all memory is pinned and unreclaimable and the VM gets
> > upset and goes oom.
> >
> > The patch limits the amount of memory which is under pageout writeout to be
> > a little more than the amount of memory at which balance_dirty_pages()
> > callers will synchronously throttle.
> >
> > This means that heavy pageout activity can starve heavy writeback activity
> > completely, but heavy writeback activity will not cause starvation of
> > pageout. Because we don't want a simple `dd' to be causing excessive
> > latencies in page reclaim.
> >
> > Signed-off-by: Andrew Morton <akpm@...l.org>
> > Signed-off-by: Linus Torvalds <torvalds@...l.org>
> >
> > (A good one! I wrote it ;))
> >
> >
> > I believe that the combination of dirty-page-tracking and its calls to
> > balance_dirty_pages() mean that we can now never get more than dirty_ratio
> > of memory into the dirty-or-writeback condition.
> >
> > The vm scanner can convert dirty pages into clean, under-writeback pages,
> > but it cannot increase the total of dirty+writeback.
>
> What about swapout? That can increase the number of writeback pages,
> without decreasing the number of dirty pages, no?
Could we not solve that by enabling cap_account_writeback on
swapper_space, and thereby account swap writeback pages. Then the VM
knows it has outstanding IO and need not panic.
-
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