On Wed, Jul 06 2005, Christoph Lameter wrote:
> 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 <[email protected]>
>
> Index: linux-2.6.13-rc2/mm/slab.c
> ===================================================================
> --- linux-2.6.13-rc2.orig/mm/slab.c 2005-07-06 03:46:33.000000000 +0000
> +++ linux-2.6.13-rc2/mm/slab.c 2005-07-06 17:34:19.000000000 +0000
> @@ -2372,6 +2372,9 @@ void *kmem_cache_alloc_node(kmem_cache_t
> struct slab *slabp;
> kmem_bufctl_t next;
>
> + if (nodeid == -1)
> + return kmem_cache_alloc(cachep, flags);
> +
> for (loop = 0;;loop++) {
> struct list_head *q;
imho, things like this are much cleaner coded as:
void *kmem_cache_alloc_node(cachep, flags, node)
{
if (node != -1)
return __kmem_cache_alloc_node(cachep, flags, node);
/* no valid node, fall back to regular slab alloc */
return kmem_cache_alloc(cachep, flags);
}
--
Jens Axboe
-
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/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
|
|