Re: slab not freeing with current -git

From: Anton Blanchard
Date: Tue Jul 05 2005 - 20:07:30 EST



> That is the issue. It should fall back to kmalloc. One piece of the
> patchset dropped out between Andrew and Linus.

That helped, but I still had lots of free memory in the request_queue
slab. Giving kmem_cache_alloc_node the same treatment fixed it, although
I wonder if we just shouldnt be passing in -1.

Anton

Index: foobar2/mm/slab.c
===================================================================
--- foobar2.orig/mm/slab.c 2005-07-06 10:47:47.950435997 +1000
+++ foobar2/mm/slab.c 2005-07-06 10:59:59.945684235 +1000
@@ -2372,6 +2372,9 @@
struct slab *slabp;
kmem_bufctl_t next;

+ if (nodeid == -1)
+ return kmem_cache_alloc(cachep, flags);
+
for (loop = 0;;loop++) {
struct list_head *q;

@@ -2443,6 +2446,9 @@
{
kmem_cache_t *cachep;

+ if (node == -1)
+ return kmalloc(size, flags);
+
cachep = kmem_find_general_cachep(size, flags);
if (unlikely(cachep == NULL))
return NULL;
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/