diff options
author | Christoph Lameter <christoph@lameter.com> | 2005-07-06 10:47:07 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-07-06 10:52:45 -0700 |
commit | 83b78bd2d31f12d7d9317d9802a1996a7bd8a6f2 (patch) | |
tree | 79468471ee42a327cad337d065a9498833d5bd24 /mm | |
parent | b4634484815e1879512a23e4f59eef648135c30a (diff) | |
download | linux-stable-83b78bd2d31f12d7d9317d9802a1996a7bd8a6f2.tar.gz linux-stable-83b78bd2d31f12d7d9317d9802a1996a7bd8a6f2.tar.bz2 linux-stable-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>
Diffstat (limited to 'mm')
-rw-r--r-- | mm/slab.c | 3 |
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; |