Re: kswapd, kupdated, and bdflush at 99% under intense IO

From: Jan Harkes (jaharkes@cs.cmu.edu)
Date: Wed Apr 11 2001 - 07:46:53 EST


On Tue, Apr 10, 2001 at 07:16:06PM -0300, Rik van Riel wrote:
> I've seen it too. It could be some interaction between kswapd
> and bdflush ... but I'm not sure what the exact cause would be.

Syncing dirty inodes requires in some cases page allocations. The
existing code in try_to_free_pages calls shrink_icache_memory during
free_shortage. So we are probably stealing the few pages that we managed
to free up a bit earlier, exactly around the time that we're already
critically low on memory.

The patch I sent you a while ago actually avoids this by triggering an
extra run of kupdated but doesn't sync the dirty inodes in the more
critical try_to_free_pages path.

I've been running it on machines with 24MB, 64MB and 512MB, haven't had
any problems. It is noticeable that the nightly updatedb run flushes the
dentry/inode cache. In the morning my email reader has to pull the email
related inodes back into memory (maildir format). It doesn't have to do
this the rest of the day. As far as I am concerned, this actually shows
that the system is now adapting to the kind of usage that occurs.

Jan

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sun Apr 15 2001 - 21:00:15 EST