Linux物理内存数据结构
2018-01-12 18:38:29 0 举报
AI智能生成
linux 内存管理
作者其他创作
大纲/内容
Linux 物理内存管理数据结构图
struct pglist_data contig_page_data;
struct zone node_zones[MAX_NR_ZONES];
unsigned long watermark[NR_WMARK];
long lowmem_reserve[MAX_NR_ZONES];
struct per_cpu_pageset __percpu *pageset;
struct per_cpu_pages pcp;
int count;\t\t/* number of pages in the list */int high;span class=\"Apple-tab-span\" style=\"white-space:pre\
struct list_head lists[MIGRATE_PCPTYPES];
s8 stat_threshold;
s8 vm_stat_diff[NR_VM_ZONE_STAT_ITEMS];
struct free_area\tfree_area[MAX_ORDER];
struct list_head\tfree_list[MIGRATE_TYPES];
struct zonelist node_zonelists[MAX_ZONELISTS];
struct zoneref _zonerefs[MAX_ZONES_PER_ZONELIST + 1];
struct zone *zone;\t/* Pointer to actual zone */
int zone_idx;\t\t/* zone_idx(zoneref->zone) */
struct page *node_mem_map;
struct bootmem_data *bdata;
\twait_queue_head_t kswapd_wait;\twait_queue_head_t pfmemalloc_wait;\tstruct task_struct *kswapd;\t/* Protected by\t\t\t\t\t mem_hotplug_begin/end() */\tint kswapd_order;\tenum zone_type kswapd_classzone_idx;
\tstruct per_cpu_nodestat __percpu *per_cpu_nodestats;\tatomic_long_t\t\tvm_stat[NR_VM_NODE_STAT_ITEMS];
s8 vm_node_stat_diff[NR_VM_NODE_STAT_ITEMS];
struct page *mem_map;
page结构体建议直接看源代码,太乱了,源代码在linux/mm_types.h
bootmem_data_t bootmem_node_data[MAX_NUMNODES] __initdata;
unsigned long node_min_pfn;
unsigned long node_low_pfn;
void *node_bootmem_map;
unsigned long last_end_off;
unsigned long hint_idx;
struct list_head list;
0 条评论
回复 删除
下一页