summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristoph Lameter <christoph@lameter.com>2005-07-06 10:47:07 -0700
committerLinus Torvalds <torvalds@g5.osdl.org>2005-07-06 10:52:45 -0700
commit83b78bd2d31f12d7d9317d9802a1996a7bd8a6f2 (patch)
tree79468471ee42a327cad337d065a9498833d5bd24
parentb4634484815e1879512a23e4f59eef648135c30a (diff)
downloadlinux-83b78bd2d31f12d7d9317d9802a1996a7bd8a6f2.tar.gz
linux-83b78bd2d31f12d7d9317d9802a1996a7bd8a6f2.tar.bz2
linux-83b78bd2d31f12d7d9317d9802a1996a7bd8a6f2.zip
[PATCH] Fix broken kmalloc_node in rc1/rc2
This patch used to be in Andrew's tree before the NUMA slab allocator went in. Either this patch or the NUMA slab allocator is needed in order for kmalloc_node to work correctly. pcibus_to_node may be used to generate the node information passed to kmalloc_node. pcibus_to_node returns -1 if it was not able to determine on which node a pcibus is located. For that case kmalloc_node must work like kmalloc. Signed-off-by: Christoph Lameter <christoph@lameter.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--mm/slab.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/mm/slab.c b/mm/slab.c
index 122d031baab2..e57abd45eede 100644
--- a/mm/slab.c
+++ b/mm/slab.c
@@ -2372,6 +2372,9 @@ void *kmem_cache_alloc_node(kmem_cache_t *cachep, int flags, int nodeid)
struct slab *slabp;
kmem_bufctl_t next;
+ if (nodeid == -1)
+ return kmem_cache_alloc(cachep, flags);
+
for (loop = 0;;loop++) {
struct list_head *q;