Data Structure Setup
Initialization of the data structures is launched from within the start_kernel global start routine that is executed after kernel loading to render the various subsystems operational. As memory management is a very important kernel component, it is initialized almost immediately after architecture-specific setup, which is responsible for the technical details of detecting memory and establishing how it is distributed in the system (Section 3.4.2 deals briefly with the implementation of system-dependent initialization on IA-32 systems). At this point, an instance of pgdat_t has been generated for each system memory mode to hold information on how much memory there is in the node and how it is distributed over the node zones. The architecture-specific node_data macro implemented on all platforms is used to query the pgdat_t instance associated with a NUMA node by reference to the number of the instance.
Continue reading here: Prerequisites
Was this article helpful?