Re: API changes to the slab allocator for NUMA memory allocation
From: Manfred Spraul
Date: Wed Mar 30 2005 - 01:44:12 EST
Christoph Lameter wrote:
The patch makes the following function calls available to allocate memory on
a specific node without changing the basic operation of the slab
allocator:
kmem_cache_alloc_node(kmem_cache_t *cachep, unsigned int flags, int node);
kmalloc_node(size_t size, unsigned int flags, int node);
I intentionally didn't add a kmalloc_node() function:
kmalloc is just a wrapper around
kmem_find_general_cachep+kmem_cache_alloc. It exists only for
efficiency. The _node functions are slow, thus a wrapper is IMHO not
required. kmalloc_node(size,flags,node) is identical to
kmem_cache_alloc(kmem_find_general_cachep(size,flags),flags,node). What
about making kmem_find_general_cachep() public again and removing
kmalloc_node()?
And I don't know if it's a good idea to make kmalloc() a special case of
kmalloc_node(): It adds one parameter to every kmalloc call and
kmem_cache_alloc call, virtually everyone passes -1. Does it increase
the .text size?
--
Manfred
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/