Thank you for your reply, Andi. You mean that the memory for the global array won't be allocated until the program runs and first accesses the array, right? So how about ordinary global variable like "int sum;"? Is it the same with the array, faulted in at first touch? Thank you. Best regards, Chen On Mon, Jun 4, 2012 at 3:31 AM, Andi Kleen <andi@xxxxxxxxxxxxxx> wrote: > On Sun, Jun 03, 2012 at 12:45:07PM +0900, Wei Chen wrote: >> Dear all, >> >> Recently I am confused about numa_set_membind() for global arrays. If >> we have a global array and later we call numa_set_membind() in our >> code, will that global array be set to the node specified by the >> nodemask_t. As I know, global array is allocated in the global data >> area by the compiler before program executes. So I wonder whether >> numa_set_membind() affects global variables and how. Besides, I would >> like to know if there is one global data area for each node or all >> memory only share one global data area. If all memory only share one >> global data area, how to decide the distance between each node and the >> global data area? > > > The memory of the global array is only faulted in at first touch. > That is when the memory policy takes affect. > > -Andi > > -- > ak@xxxxxxxxxxxxxxx -- Speaking for myself only. -- Wei Chen 平治齊修正誠致格 天國家身心意知物 下 -- To unsubscribe from this list: send the line "unsubscribe linux-numa" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html