Re: slab not freeing with current -git

From: Christoph Lameter
Date: Tue Jul 05 2005 - 20:29:28 EST


On Wed, 6 Jul 2005, Anton Blanchard wrote:

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

No. No. -1 is the sign for undetermined that is also used in other pieces
of slab.c. Meaning do not do node specific allocs. The fix
should only modify kmem_cache_alloc_node. But we wont need that if the
new slab allocator would get in. Andrew?

Also if powerpc wants to use node specific allocations for block devices
then the powerpc arch needs to supply a pcibus_to_node function that does
return the correct node for the pcibus.

Index: linux-2.6.git/mm/slab.c
===================================================================
--- linux-2.6.git.orig/mm/slab.c 2005-07-05 17:03:30.000000000 -0700
+++ linux-2.6.git/mm/slab.c 2005-07-05 18:25:20.000000000 -0700
@@ -2372,6 +2372,9 @@
struct slab *slabp;
kmem_bufctl_t next;

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

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