Re: [patch 3/9] mempool - Make mempools NUMA aware

Christoph Lameter
2006-01-27T00:21:43Z

On Thu, 26 Jan 2006, Matthew Dobson wrote:

> Allocations backed by a mempool must always be allocated via
> mempool_alloc() (or mempool_alloc_node() in this case). What that means
> is, without a mempool_alloc_node() function, NO mempool backed allocations
> will be able to request a specific node, even when the system has PLENTY of
> memory! This, IMO, is unacceptable. Adding more NUMA-awareness to the
> mempool system allows us to keep the same slab behavior as before, as well
> as leaving us free to ignore the node requests when memory is low.

Ok. That makes sense. I thought the mempool_xxx functions were only for
emergencies. But nevertheless you still duplicate all memory allocation
functions. I already was a bit concerned when I added the _node stuff.

What may be better is to add some kind of "allocation policy" to an
allocation. That allocation policy could require the allocation on a node,
distribution over a series of nodes, require allocation on a particular
node, or allow the use of emergency pools etc.

Maybe unify all the different page allocations to one call and do the
same with the slab allocator.