From: Christoph Lameter Date: Wed, 6 Jul 2005 17:47:07 +0000 (-0700) Subject: [PATCH] Fix broken kmalloc_node in rc1/rc2 X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=83b78bd2d31f12d7d9317d9802a1996a7bd8a6f2;p=openwrt%2Fstaging%2Fblogic.git [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 Signed-off-by: Linus Torvalds --- 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;