Re: Relationship Between Memory Nodes and Zones

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Does anyone have any idea for my question? What I want to make
clarified is whether there is possibility that one memory zone spans
multiple memory nodes (NUMA), and if yes, how Linux kernel depicts
this topology through its data structure.

Thanks.



2006/12/17, Dong Feng <middle.fengdong@xxxxxxxxx>:
My understanding is as follows:

One memory node (meaning a memory area having the same distance to a
CPU) can span multiple memory zones. For a given memory node, all
memory zone it spans are denoted in its *node_zones* field.

My question is that: Is there any possibility that one memory zone
spans multiple memory nodes?

My own understanding is that there is no reason to forbid that
possibility by the definition of memory zone and memory node. After
all they describe two independent aspects of memory. The memory zone
describes how peripheral and CPU is capable of addressing the memory,
while the memory zone describes the distance from memory to CPU.

But my further question is: If one memory zone can span multiple
memory node, how is that denoted in the kernel data structure. What
confuses me is that struct *zone* have a field *zone_pgdat*, which can
possess only one *pglist_data*, for which I supposed should possess a
list of *pglist_data*s.

I try to put my understanding and question level by level. So if I am
incorrect in any level, please correct me, and either ignore the
subsequent level or bring me as much correct information as possible.

Thanks.


--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
FAQ:           http://kernelnewbies.org/faq/


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux