From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andi Kleen Subject: Re: Interleaved allocation Date: Tue, 09 Dec 2014 14:03:16 -0800 Message-ID: <87lhmg4h23.fsf@tassilo.jf.intel.com> References: <20141208191428.GD7371@gamayun> Mime-Version: 1.0 Return-path: Sender: linux-numa-owner@vger.kernel.org List-ID: Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: linux-numa@vger.kernel.org Martin Ichilevici de Oliveira 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 -- ak@linux.intel.com -- Speaking for myself only