Function report |
Source Code:mm\page_alloc.c |
Create Date:2022-07-28 15:07:45 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:Set 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.
Proto:static void __init free_area_init_core(struct pglist_data *pgdat)
Type:void
Parameter:
Type | Parameter | Name |
---|---|---|
struct pglist_data * | pgdat |
6739 | pgdat_init_internals(pgdat) |
6740 | per_cpu_nodestats = boot_nodestats |
6742 | When j < MAX_NR_ZONES cycle |
6743 | zone = node_zones + j |
6747 | size = spanned_pages |
6748 | freesize = present_pages |
6755 | memmap_pages = calc_memmap_size(size, freesize) |
6756 | If Not is_highmem_idx(j) Then |
6757 | If freesize >= memmap_pages Then |
6758 | freesize -= memmap_pages |
6763 | Else pr_warn(" %s zone: %lu pages exceeds freesize %lu\n", zone_names[j], memmap_pages, freesize) |
6769 | If j == 0 && freesize > dma_reserve Then |
6770 | freesize -= dma_reserve |
6775 | If Not is_highmem_idx(j) Then nr_kernel_pages += freesize |
6778 | Else if nr_kernel_pages > memmap_pages * 2 Then nr_kernel_pages -= memmap_pages |
6780 | nr_all_pages += freesize |
6787 | zone_init_internals(zone, j, nid, freesize) |
6789 | If Not size Then Continue |
6793 | setup_usemap(pgdat, zone, zone_start_pfn, size) |
6795 | memmap_init(size, nid, j, zone_start_pfn) |
Name | Describe |
---|---|
free_area_init_node |
Source code conversion tool public plug-in interface | X |
---|---|
Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |