Linux物理内存数据结构
2018-01-12 18:38:29 0 举报
AI智能生成
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; /* number of pages in the list */
int high; /* high watermark, emptying needed */
int batch; /* chunk size for buddy add/remove */
struct list_head lists[MIGRATE_PCPTYPES];
s8 stat_threshold;
s8 vm_stat_diff[NR_VM_ZONE_STAT_ITEMS];
struct free_area free_area[MAX_ORDER];
struct list_head free_list[MIGRATE_TYPES];
struct zonelist node_zonelists[MAX_ZONELISTS];
struct zoneref _zonerefs[MAX_ZONES_PER_ZONELIST + 1];
struct zone *zone; /* Pointer to actual zone */
int zone_idx; /* zone_idx(zoneref->zone) */
struct page *node_mem_map;
struct bootmem_data *bdata;
wait_queue_head_t kswapd_wait;
wait_queue_head_t pfmemalloc_wait;
struct task_struct *kswapd; /* Protected by
mem_hotplug_begin/end() */
int kswapd_order;
enum zone_type kswapd_classzone_idx;
struct per_cpu_nodestat __percpu *per_cpu_nodestats;
atomic_long_t vm_stat[NR_VM_NODE_STAT_ITEMS];
s8 stat_threshold;
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 条评论
下一页