linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Badari Pulavarty <pbadari@us.ibm.com>
To: Manfred Spraul <manfred@colorfullife.com>
Cc: Andrew Morton <akpm@osdl.org>, linux-mm@kvack.org
Subject: Re: slab fragmentation ?
Date: 06 Oct 2004 07:58:08 -0700	[thread overview]
Message-ID: <1097074688.12861.182.camel@dyn318077bld.beaverton.ibm.com> (raw)
In-Reply-To: <4162ECAD.8090403@colorfullife.com>

On Tue, 2004-10-05 at 11:49, Manfred Spraul wrote:
> Badari Pulavarty wrote:
> 
> >>The fix would be simple: kmem_cache_alloc_node must walk through the 
> >>list of partial slabs and check if it finds a slab from the correct 
> >>node. If it does, then just use that slab instead of allocating a new 
> >>one. 

I have been looking at the code, I don't understand few things here.
alloc_percpu() calls kmem_cache_alloc_node() to allocate objects from
each node. Its just making sure that each object comes from different
node where the CPU belongs. So, without NUMA all the allocations come
from same node. Isn't it ?

If so, in NON numa case why bother allocating a new slab at all ?
Why can't we return an object from our per-cpu cache list ? Yes. We
might end up allocating objects for all CPUs from the cpu cache
we are running on. But current code doesn't deal with CPUs, only
nodes. So it should be same.

OR just grab  first partial slab and allocate it from there ?

If NUMA, we need to do get a partial slab belongs to the node and
do the allocation from there.

Am I missing something fundamental here ?

Thanks,
Badari



--
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:"aart@kvack.org"> aart@kvack.org </a>

  parent reply	other threads:[~2004-10-06 14:58 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-09-29 23:36 Badari Pulavarty
2004-09-30  3:41 ` Andrew Morton
2004-09-30  4:52   ` badari
2004-09-30 14:49   ` Martin J. Bligh
2004-09-30 14:48     ` Badari Pulavarty
2004-10-03  6:04       ` Manfred Spraul
2004-10-04 15:51         ` Badari Pulavarty
2004-10-04 16:08           ` Manfred Spraul
2004-10-04 17:37             ` Badari Pulavarty
2004-10-05 14:46             ` Badari Pulavarty
2004-10-05 17:58               ` Manfred Spraul
2004-10-05 18:27                 ` Badari Pulavarty
2004-10-05 18:49                   ` Manfred Spraul
2004-10-05 18:47                     ` Badari Pulavarty
2004-10-05 21:13                     ` Badari Pulavarty
2004-10-05 22:11                       ` Chen, Kenneth W
2004-10-05 22:18                         ` Chen, Kenneth W
2004-10-06 14:58                     ` Badari Pulavarty [this message]
2004-10-09 14:28                       ` Manfred Spraul

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=1097074688.12861.182.camel@dyn318077bld.beaverton.ibm.com \
    --to=pbadari@us.ibm.com \
    --cc=akpm@osdl.org \
    --cc=linux-mm@kvack.org \
    --cc=manfred@colorfullife.com \
    /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