Re: Memory pressure handling with iSCSI

From: Andrew Morton
Date: Tue Jul 26 2005 - 19:34:35 EST


Badari Pulavarty <pbadari@xxxxxxxxxx> wrote:
>
> On Tue, 2005-07-26 at 16:07 -0700, Andrew Morton wrote:
> > Badari Pulavarty <pbadari@xxxxxxxxxx> wrote:
> > >
> > > Here is the data with 5 ext2 filesystems. I also collected /proc/meminfo
> > > every 5 seconds. As you can see, we seem to dirty 6GB of data in 20
> > > seconds of starting the test. I am not sure if its bad, since we have
> > > lots of free memory..
> >
> > It's bad. The logic in balance_dirty_pages() should block those write()
> > callers as soon as we hit 40% dirty memory or whatever is in
> > /proc/sys/vm/dirty_ratio. So something is horridly busted.
> >
> > Can you try reducing the number of filesystems even further?
>
> Single ext2 filesystem. We still dirty pretty quickly (data collected
> every 5 seconds).

It happens here, a bit. My machine goes up to 60% dirty when it should be
clamping at 40%.

The variable `total_pages' in page-writeback.c (from
nr_free_pagecache_pages()) is too high. I trace it back to here:

On node 0 totalpages: 1572864
DMA zone: 4096 pages, LIFO batch:1
Normal zone: 1568768 pages, LIFO batch:31
HighMem zone: 0 pages, LIFO batch:1

This machine only has 4G of memory, so the platform code is overestimating
the number of pages by 50%. Can you please check your dmesg, see if your
system is also getting this wrong?
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/