函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:mm\page_alloc.c Create Date:2022-07-27 16:37:51
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:zone_init_internals

函数原型:static void __meminit zone_init_internals(struct zone *zone, enum zone_type idx, int nid, unsigned long remaining_pages)

返回类型:void

参数:

类型参数名称
struct zone *zone
enum zone_typeidx
intnid
unsigned longremaining_pages
6697  atomic_long_set( & * spanned_pages is the total pages spanned by the zone, including * holes, which is calculated as: * spanned_pages = zone_end_pfn - zone_start_pfn; * present_pages is physical pages existing within the zone, which * is calculated as: * present_pages = span, remaining_pages)
6698  zone_set_nid(zone, nid)
6699  内存域的惯用名称(NORMAL DMA HIGHMEM)等于zone_names[idx]
6700  建立内存域和父结点之间的关联等于NUMA节点数据区(nid)
6701  spin_lock_init( & 自旋锁)
6702  zone_seqlock_init(zone)
6703  zone_pcp_init(zone)
调用者
名称描述
free_area_init_core_hotplugSet up the zone data structures* - init pgdat internals* - init all zones belonging to this node* NOTE: this function is only called during memory hotplug
free_area_init_coreSet up the zone data structures:* - mark all pages reserved* - mark all memory queues empty* - clear the memory bitmaps* NOTE: pgdat should get zeroed by caller.* NOTE: this function is only called during early init.