Re: Interleaved allocation

Andi Kleen <[email protected]> Tue, 09 Dec 2014 14:03:16 -0800
Newsgroups org.kernel.vger.linux-numa
Message-ID <[email protected]>
Martin Ichilevici de Oliveira <[email protected]> writes:

> 1. What happens when I try to allocate 100 pages with a call like this:
>
> numa_alloc_interleaved(100 * numa_pagesize())
>
> I can think of two possible allocation schemes:
> a. Pages 0-24 are allocated to node 0, pages 25-49 are allocated to
> node 1, pages 50-74 are allocated on node 2 and pages 75-99 are
> allocated on node 3.
>
> b. Pages 0,4,8... are allocated on node 0, pages 1,5,9... are
> allocated on node 1 and so on

It's approximately (b)

> 2. What's the effect of using numactl --interleaved=0,1,2,3 -- ./myprog?
> I would assume it "substitutes" any malloc's to
> numa_alloc_interleaved(), but I'm not sure if it's just that.

Any page allocated by the process is interleaved in access order
(which is different from what numa_alloc_interleaved does)

-Andi

-- 
[email protected] -- Speaking for myself only