All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ed Tomlinson <tomlins@cam.org>
To: Craig Kulesa <ckulesa@as.arizona.edu>, linux-kernel@vger.kernel.org
Cc: linux-mm@kvack.org
Subject: Re: [PATCH 2/2] move slab pages to the lru, for 2.5.27
Date: Sun, 21 Jul 2002 09:33:01 -0400	[thread overview]
Message-ID: <200207210933.01211.tomlins@cam.org> (raw)
In-Reply-To: <Pine.LNX.4.44.0207210245080.6770-100000@loke.as.arizona.edu>

On July 21, 2002 07:24 am, Craig Kulesa wrote:

> This patch is intermediate between where we were (freeing slab caches
> blindly and not in tune with the rest of the VM), and where we want to be
> (cache pruning by page as we scan the active list looking for cold pages
> to deactivate).  Uhhh, well, I *think* that's where we want to be.  :)
>
> How do we get there?
>
> Given a slab page, I can find out what cachep and slab I'm dealing with
> (via GET_PAGE_SLAB and friends).  If the cache is prunable one,
> cachep->pruner tells me what kind of callback (dcache/inode/dquot) I
> should invoke to prune the page.  No problem.
>
> The trouble comes when we try to replace shrink_dcache_memory() and
> friends with slab-aware pruners.  Namely, how to teach those
> inode/dcache/dquot callbacks to free objects belonging to a *specified*
> page or slab?  If I have a dentry slab, I'd like to try to liberate
> *those* dentries, not some random ones like shrink_dcache_memory does now.

Well not quite random.  It prunes the oldest entries.  The idea behind the prunable
callback is that some caches have specific aging methods.   What I tried to do here
was keep the rate of aging in sync with the VM.  

> I'm still trying to figure out how to make that work.  Or is that
> totally the wrong approach?  Thoughts?  ;)

Thats a question I have asked myself too.  What could be done is,  scan the 
entries in the slab encountered, using a call back, free them if they are purgeable.
If this ends up producing an empty slab, release it.

>Intermezzo has a funky dentry cache that may need a pruner method (??), 
>but I didn't touch it.  If there was a better way to do this, I was too 
>blind to see it.  

Looking at the Intermezzo dcache code, I think you made the right choise.
I do not think this needs a pruner method.

Ed Tomlinson




  reply	other threads:[~2002-07-21 13:30 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-07-21 11:24 [PATCH 2/2] move slab pages to the lru, for 2.5.27 Craig Kulesa
2002-07-21 11:24 ` Craig Kulesa
2002-07-21 13:33 ` Ed Tomlinson [this message]
2002-07-21 21:24   ` Craig Kulesa
2002-07-21 21:24     ` Craig Kulesa
2002-07-21 23:15     ` Ed Tomlinson
2002-07-21 23:15       ` Ed Tomlinson
2002-07-21 21:31 ` William Lee Irwin III
2002-07-21 21:31   ` William Lee Irwin III
2002-07-22  7:08   ` Craig Kulesa
2002-07-22  7:08     ` Craig Kulesa
2002-07-22 18:54 ` Steven Cole
2002-07-22 18:54   ` Steven Cole
2002-07-22 22:17   ` Ed Tomlinson
2002-07-22 22:21   ` William Lee Irwin III
2002-07-22 22:21     ` William Lee Irwin III
2002-07-22 22:36     ` Craig Kulesa
2002-07-22 22:36       ` Craig Kulesa
2002-07-23  0:21       ` Ed Tomlinson
2002-07-23  4:36       ` William Lee Irwin III
2002-07-23  4:36         ` William Lee Irwin III
2002-07-23 11:45         ` Ed Tomlinson
2002-07-23 14:31       ` Steven Cole
2002-07-23 14:31         ` Steven Cole
2002-07-24 20:28         ` Steven Cole
2002-07-24 20:28           ` Steven Cole
2002-07-24 21:02           ` Steven Cole
2002-07-24 21:02             ` Steven Cole
  -- strict thread matches above, loose matches on Subject: below --
2002-07-25  0:12 Ed Tomlinson
2002-07-25 12:00 ` Craig Kulesa
2002-07-25 12:00   ` Craig Kulesa

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=200207210933.01211.tomlins@cam.org \
    --to=tomlins@cam.org \
    --cc=ckulesa@as.arizona.edu \
    --cc=linux-kernel@vger.kernel.org \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.