linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Manfred Spraul <manfred@colorfullife.com>
To: Christoph Lameter <clameter@engr.sgi.com>
Cc: Marcelo <marcelo.tosatti@cyclades.com>,
	linux-mm@kvack.org, akpm@osdl.org, dgc@sgi.com,
	dipankar@in.ibm.com, mbligh@mbligh.org
Subject: Re: [PATCH] per-page SLAB freeing (only dcache for now)
Date: Mon, 03 Oct 2005 22:37:26 +0200	[thread overview]
Message-ID: <43419686.60600@colorfullife.com> (raw)
In-Reply-To: <Pine.LNX.4.62.0510030823420.7812@schroedinger.engr.sgi.com>

Christoph Lameter wrote:

>On Sat, 1 Oct 2005, Marcelo wrote:
>
>  
>
>>I thought about having a mini-API for this such as "struct slab_reclaim_ops" 
>>implemented by each reclaimable cache, invoked by a generic SLAB function.
>>
>>    
>>
Which functions would be needed?
- lock_cache(): No more alive/dead changes
- objp_is_alive()
- objp_is_killable()
- objp_kill()

I think it would be simpler if the caller must mark the objects as 
alive/dead before/after calling kmem_cache_alloc/free: I don't think 
it's a good idea to add special case code and branches to the normal 
kmem_cache_alloc codepath. And especially: It would mean that 
kmem_cache_alloc must perform a slab lookup  in each alloc call, this 
could be slow.
The slab users could store the alive status somewhere in the object. And 
they could set the flag early, e.g. disable alive as soon as an object 
is put on the rcu aging list.

The tricky part is lock_cache: is it actually possible to really lock 
the dentry cache, or could RCU cause changes at any time.

--
    Manfred

--
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/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  reply	other threads:[~2005-10-03 20:37 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-09-30 19:37 Marcelo
2005-10-01  2:46 ` Christoph Lameter
2005-10-01 21:52   ` Marcelo
2005-10-03 15:24     ` Christoph Lameter
2005-10-03 20:37       ` Manfred Spraul [this message]
2005-10-03 22:17         ` Marcelo Tosatti
2005-10-04 17:04           ` Manfred Spraul
2005-10-06 16:01             ` Marcelo Tosatti
2005-10-22  1:30               ` Marcelo Tosatti
2005-10-22  6:31                 ` Andrew Morton
2005-10-22  9:21                   ` Arjan van de Ven
2005-10-22 17:08                   ` Christoph Lameter
2005-10-22 17:13                     ` ia64 page size (was Re: [PATCH] per-page SLAB freeing (only dcache for now)) Arjan van de Ven
2005-10-22 18:16                     ` [PATCH] per-page SLAB freeing (only dcache for now) Manfred Spraul
2005-10-23 18:41                       ` Marcelo Tosatti
2005-10-23 16:30                   ` Marcelo Tosatti

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=43419686.60600@colorfullife.com \
    --to=manfred@colorfullife.com \
    --cc=akpm@osdl.org \
    --cc=clameter@engr.sgi.com \
    --cc=dgc@sgi.com \
    --cc=dipankar@in.ibm.com \
    --cc=linux-mm@kvack.org \
    --cc=marcelo.tosatti@cyclades.com \
    --cc=mbligh@mbligh.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