Re: [rfc] balance-on-fork NUMA placement

Nick Piggin
2007-08-03T00:26:39Z

On Thu, Aug 02, 2007 at 12:58:13PM -0700, Christoph Lameter wrote:
> On Thu, 2 Aug 2007, Nick Piggin wrote:
>
> > > It does in the sense that slabs are allocated following policies. If you
> > > want to place individual objects then you need to use kmalloc_node().
> >
> > Is there no way to place objects via policy? At least kernel stack and page
> > tables on x86-64 should be covered by page allocator policy, so the patch
> > will still be useful.
>
> Implementing policies on an object level introduces significant allocator
> overhead. Tried to do it in SLAB which created a mess.
>
> Add a (slow) kmalloc_policy? Strict Object round robin for interleave
> right? It probably needs its own RR counter otherwise it disturbs the per
> task page RR.

I guess interleave could be nice for other things, but for this, I
just want MPOL_BIND to work. The problem is that the pagetable copying
etc codepaths cover a lot of code and some of it (eg pagetable allocation)
is used for other paths as well.. so I was just hoping to do something
less intrusive for now if possible.

> For interleave kmalloc() does allocate the slabs round robin not the
> objects.