Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:mm\page_alloc.c Create Date:2022-07-28 15:07:40
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:zone_init_internals

Proto:static void __meminit zone_init_internals(struct zone *zone, enum zone_type idx, int nid, unsigned long remaining_pages)

Type:void

Parameter:

TypeParameterName
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  name = zone_names[idx]
6700  zone_pgdat = NODE_DATA(nid)
6701  Process spin lock initialization( & Primarily protects free_area )
6702  zone_seqlock_init(zone)
6703  zone_pcp_init(zone)
Caller
NameDescribe
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.