Lines Matching refs:nid
309 int __ref __add_pages(int nid, unsigned long pfn, unsigned long nr_pages, in __add_pages() argument
344 err = sparse_add_section(nid, pfn, cur_nr_pages, altmap); in __add_pages()
354 static unsigned long find_smallest_section_pfn(int nid, struct zone *zone, in find_smallest_section_pfn() argument
362 if (unlikely(pfn_to_nid(start_pfn) != nid)) in find_smallest_section_pfn()
375 static unsigned long find_biggest_section_pfn(int nid, struct zone *zone, in find_biggest_section_pfn() argument
387 if (unlikely(pfn_to_nid(pfn) != nid)) in find_biggest_section_pfn()
403 int nid = zone_to_nid(zone); in shrink_zone_span() local
413 pfn = find_smallest_section_pfn(nid, zone, end_pfn, in shrink_zone_span()
429 pfn = find_biggest_section_pfn(nid, zone, zone->zone_start_pfn, in shrink_zone_span()
631 int nid = zone_to_nid(zone); in node_states_check_changes_online() local
637 if (!node_state(nid, N_MEMORY)) in node_states_check_changes_online()
638 arg->status_change_nid = nid; in node_states_check_changes_online()
639 if (zone_idx(zone) <= ZONE_NORMAL && !node_state(nid, N_NORMAL_MEMORY)) in node_states_check_changes_online()
640 arg->status_change_nid_normal = nid; in node_states_check_changes_online()
642 if (zone_idx(zone) <= ZONE_HIGHMEM && !node_state(nid, N_HIGH_MEMORY)) in node_states_check_changes_online()
643 arg->status_change_nid_high = nid; in node_states_check_changes_online()
695 int nid = pgdat->node_id; in move_pfn_range_to_zone() local
716 memmap_init_zone(nr_pages, nid, zone_idx(zone), start_pfn, 0, in move_pfn_range_to_zone()
727 static struct zone *default_kernel_zone_for_pfn(int nid, unsigned long start_pfn, in default_kernel_zone_for_pfn() argument
730 struct pglist_data *pgdat = NODE_DATA(nid); in default_kernel_zone_for_pfn()
743 static inline struct zone *default_zone_for_pfn(int nid, unsigned long start_pfn, in default_zone_for_pfn() argument
746 struct zone *kernel_zone = default_kernel_zone_for_pfn(nid, start_pfn, in default_zone_for_pfn()
748 struct zone *movable_zone = &NODE_DATA(nid)->node_zones[ZONE_MOVABLE]; in default_zone_for_pfn()
767 struct zone *zone_for_pfn_range(int online_type, int nid, in zone_for_pfn_range() argument
771 return default_kernel_zone_for_pfn(nid, start_pfn, nr_pages); in zone_for_pfn_range()
774 return &NODE_DATA(nid)->node_zones[ZONE_MOVABLE]; in zone_for_pfn_range()
776 return default_zone_for_pfn(nid, start_pfn, nr_pages); in zone_for_pfn_range()
780 int online_type, int nid) in online_pages() argument
796 zone = zone_for_pfn_range(online_type, nid, pfn, nr_pages); in online_pages()
833 node_states_set_node(nid, &arg); in online_pages()
851 kswapd_run(nid); in online_pages()
852 kcompactd_run(nid); in online_pages()
882 static pg_data_t __ref *hotadd_new_pgdat(int nid) in hotadd_new_pgdat() argument
886 pgdat = NODE_DATA(nid); in hotadd_new_pgdat()
888 pgdat = arch_alloc_nodedata(nid); in hotadd_new_pgdat()
894 arch_refresh_nodedata(nid, pgdat); in hotadd_new_pgdat()
914 pgdat->node_id = nid; in hotadd_new_pgdat()
918 free_area_init_core_hotplug(nid); in hotadd_new_pgdat()
937 static void rollback_node_hotadd(int nid) in rollback_node_hotadd() argument
939 pg_data_t *pgdat = NODE_DATA(nid); in rollback_node_hotadd()
941 arch_refresh_nodedata(nid, NULL); in rollback_node_hotadd()
958 static int __try_online_node(int nid, bool set_node_online) in __try_online_node() argument
963 if (node_online(nid)) in __try_online_node()
966 pgdat = hotadd_new_pgdat(nid); in __try_online_node()
968 pr_err("Cannot online node %d due to NULL pgdat\n", nid); in __try_online_node()
974 node_set_online(nid); in __try_online_node()
975 ret = register_one_node(nid); in __try_online_node()
985 int try_online_node(int nid) in try_online_node() argument
990 ret = __try_online_node(nid, true); in try_online_node()
1020 int __ref add_memory_resource(int nid, struct resource *res, mhp_t mhp_flags) in add_memory_resource() argument
1034 if (!node_possible(nid)) { in add_memory_resource()
1035 WARN(1, "node %d was absent from the node_possible_map\n", nid); in add_memory_resource()
1042 memblock_add_node(start, size, nid); in add_memory_resource()
1044 ret = __try_online_node(nid, false); in add_memory_resource()
1050 ret = arch_add_memory(nid, start, size, ¶ms); in add_memory_resource()
1057 arch_remove_memory(nid, start, size, NULL); in add_memory_resource()
1067 node_set_online(nid); in add_memory_resource()
1068 ret = __register_one_node(nid); in add_memory_resource()
1073 link_mem_sections(nid, PFN_DOWN(start), PFN_UP(start + size - 1), in add_memory_resource()
1098 rollback_node_hotadd(nid); in add_memory_resource()
1106 int __ref __add_memory(int nid, u64 start, u64 size, mhp_t mhp_flags) in __add_memory() argument
1115 ret = add_memory_resource(nid, res, mhp_flags); in __add_memory()
1121 int add_memory(int nid, u64 start, u64 size, mhp_t mhp_flags) in add_memory() argument
1126 rc = __add_memory(nid, start, size, mhp_flags); in add_memory()
1133 int add_memory_subsection(int nid, u64 start, u64 size) in add_memory_subsection() argument
1152 nid = memory_add_physaddr_to_nid(start); in add_memory_subsection()
1155 memblock_add_node(start, size, nid); in add_memory_subsection()
1157 ret = arch_add_memory(nid, start, size, ¶ms); in add_memory_subsection()
1199 int add_memory_driver_managed(int nid, u64 start, u64 size, in add_memory_driver_managed() argument
1218 rc = add_memory_resource(nid, res, mhp_flags); in add_memory_driver_managed()
1392 mtc.nid = page_to_nid(list_first_entry(&source, struct page, lru)); in do_migrate_range()
1399 node_clear(mtc.nid, nmask); in do_migrate_range()
1401 node_set(mtc.nid, nmask); in do_migrate_range()
1714 int nid = *(int *)arg; in check_no_memblock_for_node_cb() local
1721 return mem->nid == nid ? -EEXIST : 0; in check_no_memblock_for_node_cb()
1733 void try_offline_node(int nid) in try_offline_node() argument
1735 pg_data_t *pgdat = NODE_DATA(nid); in try_offline_node()
1751 rc = for_each_memory_block(&nid, check_no_memblock_for_node_cb); in try_offline_node()
1762 node_set_offline(nid); in try_offline_node()
1763 unregister_one_node(nid); in try_offline_node()
1767 static int __ref try_remove_memory(int nid, u64 start, u64 size) in try_remove_memory() argument
1793 arch_remove_memory(nid, start, size, NULL); in try_remove_memory()
1802 try_offline_node(nid); in try_remove_memory()
1818 void __remove_memory(int nid, u64 start, u64 size) in __remove_memory() argument
1825 if (try_remove_memory(nid, start, size)) in __remove_memory()
1833 int remove_memory(int nid, u64 start, u64 size) in remove_memory() argument
1838 rc = try_remove_memory(nid, start, size); in remove_memory()
1845 int remove_memory_subsection(int nid, u64 start, u64 size) in remove_memory_subsection() argument
1855 arch_remove_memory(nid, start, size, NULL); in remove_memory_subsection()
1874 int offline_and_remove_memory(int nid, u64 start, u64 size) in offline_and_remove_memory() argument
1896 rc = try_remove_memory(nid, start, size); in offline_and_remove_memory()