From: Ed Tomlinson <tomlins@cam.org>
To: "Martin J. Bligh" <Martin.Bligh@us.ibm.com>, linux-mm@kvack.org
Subject: Re: [RFC][PATCH] dcache and rmap
Date: Mon, 6 May 2002 11:12:55 -0400 [thread overview]
Message-ID: <200205061112.55252.tomlins@cam.org> (raw)
In-Reply-To: <17314927.1020670845@[10.10.2.3]>
On May 6, 2002 10:40 am, Martin J. Bligh wrote:
> >> > I got tired of finding my box with 50-60% percent of memory tied
> >> > up in dentry/inode caches every morning after update-db runs or
> >> > after doing a find / -name "*" to generate a list of files for
> >> > backups. So I decided to make a stab at fixing this.
> >>
> >> Are you actually out of memory at this point, and they're consuming
> >> space you really need?
> >
> > Think of this another way. There are 100000+ dentry/inodes in memory
> > comsuming 250M or so. Meanwhile load is light and the background
> > aging is able to supply pages for the freelist. We do not reclaim this
> > storage until we have vm pressure. Usually this pressure is artifical,
> > if we had reclaimed the storage it would not have occured, our caches
> > would have more useful data in them, and half the memory would not
> > sit idle for half a day.
> >
> > We age the rest of the memory to keep it hot. Rmap does a good job
> > and keeps the freelist heathly. In this case nothing ages the dentries
> > and they get very cold. My code ensures that the memory consumed
> > by the, potentially cold, dentries/inodes is not excessive.
>
> If there's no pressure on memory, then using it for caches is a good
> thing. Why throw away data before we're out of space? If we are under
The point is there is always memory pressure. Sometimes kswapd can
supply the pages needed without calling do_try_to_free_pages. When this
happens the dcache/icache can grow since we never try to shrink it. My
patch changes this.
> pressure on memory then dcache should shrink easily and rapidly. If
> it's not, then make it shrink properly, don't just limit it to an
> arbitrary size that may be totally unsuitable for some workloads.
There is _no_ arbitrary limit. All that happens is that if the dcache grows
by more than n pages we try to shrink it once. If the system its actually
using the dentries, the dcache/icache will grow as needed. If its not using
them, which is the case here more often than not, they get dropped and
storage is freed to be better used by the rest of the vm.
> You could even age it instead ... that'd make more sense than
> restricting it to a static size.
Again I apply pressure. There are no static limits. Aging would be nice but
that would probably require rather massive changes to the way the slab cache
works.
Ed Tomlinson
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/
next prev parent reply other threads:[~2002-05-06 15:12 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-05-06 1:17 Ed Tomlinson
2002-05-06 2:55 ` Martin J. Bligh
2002-05-06 7:54 ` Ed Tomlinson
2002-05-06 14:40 ` Martin J. Bligh
2002-05-06 15:12 ` Ed Tomlinson [this message]
2002-05-07 1:44 ` William Lee Irwin III
2002-05-07 11:41 ` Ed Tomlinson
2002-05-07 12:57 ` William Lee Irwin III
2002-05-07 14:10 ` Christoph Hellwig
2002-05-07 14:48 ` William Lee Irwin III
2002-05-13 11:07 ` Nikita Danilov
2002-05-13 11:50 ` Ed Tomlinson
2002-05-13 21:23 ` Andrew Morton
2002-05-07 1:01 Lever, Charles
2002-05-07 2:05 ` Martin J. Bligh
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200205061112.55252.tomlins@cam.org \
--to=tomlins@cam.org \
--cc=Martin.Bligh@us.ibm.com \
--cc=linux-mm@kvack.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox