lkml.org 
[lkml]   [2004]   [Oct]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] reduce fragmentation due to kmem_cache_alloc_node
From
Date
Manfred & Andrew,

I am happy with the patch.This seems to have fixed slab fragmentation
problem with scsi_debug tests.

But I still have issue with my scsi-debug tests. I don't think they
are related to this patch. When I do,

while :
do
simulate 1000 scsi-debug disks
freeup 1000 scsi-debug disks
done

I see size-64 "inuse" objects increasing. Eventually, it fills
up entire low-mem. I guess while freeing up scsi-debug disks,
is not cleaning up all the allocations :(

But one question I have is - Is it possible to hold size-64 slab,
because it has a management allocation (slabp - 40 byte allocations)
from alloc_slabmgmt() ? I remember seeing this earlier. Is it worth
moving all managment allocations to its own slab ? should I try it ?

Thanks,
Badari

On Sat, 2004-10-09 at 13:37, Manfred Spraul wrote:
> Hi Andrew,
>
> attached is a patch that fixes the fragmentation that Badri noticed with
> kmem_cache_alloc_node. Could you add it to the mm tree? The patch is
> against 2.6.9-rc3-mm3.
>
> Description:
> kmem_cache_alloc_node tries to allocate memory from a given node. The
> current implementation contains two bugs:
> - the node aware code was used even for !CONFIG_NUMA systems. Fix:
> inline function that redefines kmem_cache_alloc_node as kmem_cache_alloc
> for !CONFIG_NUMA.
> - the code always allocated a new slab for each new allocation. This
> caused severe fragmentation. Fix: walk the slabp lists and search for a
> matching page instead of allocating a new page.
> - the patch also adds a new statistics field for node-local allocs. They
> should be rare - the codepath is quite slow, especially compared to the
> normal kmem_cache_alloc.
>
> Badri: Could you test it?
> Andrew, could you add the patch to the next -mm kernel? I'm running it
> right now, no obvious problems.
>
> Signed-Off-By: Manfred Spraul <manfred@colorfullife.com>


-
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/

\
 
 \ /
  Last update: 2005-03-22 14:07    [W:0.038 / U:0.796 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site