Lines Matching full:section
66 struct mem_section *section = NULL; in sparse_index_alloc() local
71 section = kzalloc_node(array_size, GFP_KERNEL, nid); in sparse_index_alloc()
73 section = memblock_alloc_node(array_size, SMP_CACHE_BYTES, in sparse_index_alloc()
75 if (!section) in sparse_index_alloc()
80 return section; in sparse_index_alloc()
86 struct mem_section *section; in sparse_index_init() local
89 * An existing section is possible in the sub-section hotplug in sparse_index_init()
91 * the existing section. in sparse_index_init()
98 section = sparse_index_alloc(nid); in sparse_index_init()
99 if (!section) in sparse_index_init()
102 mem_section[root] = section; in sparse_index_init()
141 * mem_map, we use section_mem_map to store the section's NUMA
150 static inline int sparse_early_nid(struct mem_section *section) in sparse_early_nid() argument
152 return (section->section_mem_map >> SECTION_NID_SHIFT); in sparse_early_nid()
278 unsigned long section = pfn_to_section_nr(pfn); in memory_present() local
281 sparse_index_init(section, nid); in memory_present()
282 set_section_nid(section, nid); in memory_present()
284 ms = __nr_to_section(section); in memory_present()
363 * page being freed and making a section unremovable while in sparse_early_usemaps_alloc_pgdat_section()
365 * a pgdat can prevent a section being removed. If section A in sparse_early_usemaps_alloc_pgdat_section()
366 * contains a pgdat and section B contains the usemap, both in sparse_early_usemaps_alloc_pgdat_section()
368 * from the same section as the pgdat where possible to avoid in sparse_early_usemaps_alloc_pgdat_section()
412 pr_info("node %d must be removed before remove section %ld\n", in check_usemap_section_nr()
418 * Some platforms allow un-removable section because they will just in check_usemap_section_nr()
420 * Just notify un-removable section's number here. in check_usemap_section_nr()
422 …pr_info("Section %ld and %ld (node %d) have a circular dependency on usemap and pgdat allocations\… in check_usemap_section_nr()
577 * for each and record the physical to section mapping.
724 * When this function is called, the removing section is in free_map_bootmem()
726 * from page allocator. If removing section's memmap is placed in free_map_bootmem()
727 * on the same section, it must not be freed. in free_map_bootmem()
753 "section already deactivated (%#lx + %ld)\n", in section_deactivate()
761 * 1/ deactivation of a partial hot-added section (only possible in section_deactivate()
763 * a/ section was present at memory init in section_deactivate()
764 * b/ section was hot-added post memory init in section_deactivate()
765 * 2/ deactivation of a complete hot-added section in section_deactivate()
766 * 3/ deactivation of a complete section from memory init in section_deactivate()
830 * referenced. If we hot-add memory into such a section then we in section_activate()
847 * sparse_add_section - add a memory section, or populate an existing one
848 * @nid: The node to add section on
850 * @nr_pages: number of pfns to add in the section
857 * * -EEXIST - Section has been present.
886 /* Align memmap to section boundary in the subsection case */ in sparse_add_section()
900 * A further optimization is to have per section refcounted in clear_hwpoisoned_pages()