> 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 [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to