Lines Matching refs:nid
388 int __add_pages(int nid, unsigned long pfn, unsigned long nr_pages, in __add_pages() argument
422 err = sparse_add_section(nid, pfn, cur_nr_pages, altmap, in __add_pages()
433 static unsigned long find_smallest_section_pfn(int nid, struct zone *zone, in find_smallest_section_pfn() argument
441 if (unlikely(pfn_to_nid(start_pfn) != nid)) in find_smallest_section_pfn()
454 static unsigned long find_biggest_section_pfn(int nid, struct zone *zone, in find_biggest_section_pfn() argument
466 if (unlikely(pfn_to_nid(pfn) != nid)) in find_biggest_section_pfn()
482 int nid = zone_to_nid(zone); in shrink_zone_span() local
491 pfn = find_smallest_section_pfn(nid, zone, end_pfn, in shrink_zone_span()
507 pfn = find_biggest_section_pfn(nid, zone, zone->zone_start_pfn, in shrink_zone_span()
706 int nid = zone_to_nid(zone); in node_states_check_changes_online() local
711 if (!node_state(nid, N_MEMORY)) in node_states_check_changes_online()
712 arg->status_change_nid = nid; in node_states_check_changes_online()
713 if (zone_idx(zone) <= ZONE_NORMAL && !node_state(nid, N_NORMAL_MEMORY)) in node_states_check_changes_online()
714 arg->status_change_nid_normal = nid; in node_states_check_changes_online()
776 int nid = pgdat->node_id; in move_pfn_range_to_zone() local
804 memmap_init_range(nr_pages, nid, zone_idx(zone), start_pfn, 0, in move_pfn_range_to_zone()
864 static bool auto_movable_can_online_movable(int nid, struct memory_group *group, in auto_movable_can_online_movable() argument
874 if (nid == NUMA_NO_NODE) { in auto_movable_can_online_movable()
880 pg_data_t *pgdat = NODE_DATA(nid); in auto_movable_can_online_movable()
896 walk_dynamic_memory_groups(nid, auto_movable_stats_account_group, in auto_movable_can_online_movable()
919 static struct zone *default_kernel_zone_for_pfn(int nid, unsigned long start_pfn, in default_kernel_zone_for_pfn() argument
922 struct pglist_data *pgdat = NODE_DATA(nid); in default_kernel_zone_for_pfn()
985 static struct zone *auto_movable_zone_for_pfn(int nid, in auto_movable_zone_for_pfn() argument
1037 !auto_movable_can_online_movable(nid, group, nr_pages)) in auto_movable_zone_for_pfn()
1041 return &NODE_DATA(nid)->node_zones[ZONE_MOVABLE]; in auto_movable_zone_for_pfn()
1043 return default_kernel_zone_for_pfn(nid, pfn, nr_pages); in auto_movable_zone_for_pfn()
1046 static inline struct zone *default_zone_for_pfn(int nid, unsigned long start_pfn, in default_zone_for_pfn() argument
1049 struct zone *kernel_zone = default_kernel_zone_for_pfn(nid, start_pfn, in default_zone_for_pfn()
1051 struct zone *movable_zone = &NODE_DATA(nid)->node_zones[ZONE_MOVABLE]; in default_zone_for_pfn()
1070 struct zone *zone_for_pfn_range(int online_type, int nid, in zone_for_pfn_range() argument
1075 return default_kernel_zone_for_pfn(nid, start_pfn, nr_pages); in zone_for_pfn_range()
1078 return &NODE_DATA(nid)->node_zones[ZONE_MOVABLE]; in zone_for_pfn_range()
1081 return auto_movable_zone_for_pfn(nid, group, start_pfn, nr_pages); in zone_for_pfn_range()
1083 return default_zone_for_pfn(nid, start_pfn, nr_pages); in zone_for_pfn_range()
1178 const int nid = zone_to_nid(zone); in online_pages() local
1227 node_states_set_node(nid, &arg); in online_pages()
1245 kswapd_run(nid); in online_pages()
1246 kcompactd_run(nid); in online_pages()
1263 static pg_data_t *hotadd_init_pgdat(int nid) in hotadd_init_pgdat() argument
1273 pgdat = NODE_DATA(nid); in hotadd_init_pgdat()
1298 static int __try_online_node(int nid, bool set_node_online) in __try_online_node() argument
1303 if (node_online(nid)) in __try_online_node()
1306 pgdat = hotadd_init_pgdat(nid); in __try_online_node()
1308 pr_err("Cannot online node %d due to NULL pgdat\n", nid); in __try_online_node()
1314 node_set_online(nid); in __try_online_node()
1315 ret = register_one_node(nid); in __try_online_node()
1325 int try_online_node(int nid) in try_online_node() argument
1330 ret = __try_online_node(nid, true); in try_online_node()
1447 static int create_altmaps_and_memory_blocks(int nid, struct memory_group *group, in create_altmaps_and_memory_blocks() argument
1474 ret = arch_add_memory(nid, cur_start, memblock_size, ¶ms); in create_altmaps_and_memory_blocks()
1503 int add_memory_resource(int nid, struct resource *res, mhp_t mhp_flags) in add_memory_resource() argument
1520 group = memory_group_find_by_id(nid); in add_memory_resource()
1523 nid = group->nid; in add_memory_resource()
1526 if (!node_possible(nid)) { in add_memory_resource()
1527 WARN(1, "node %d was absent from the node_possible_map\n", nid); in add_memory_resource()
1536 ret = memblock_add_node(start, size, nid, memblock_flags); in add_memory_resource()
1541 ret = __try_online_node(nid, false); in add_memory_resource()
1551 ret = create_altmaps_and_memory_blocks(nid, group, start, size, mhp_flags); in add_memory_resource()
1555 ret = arch_add_memory(nid, start, size, ¶ms); in add_memory_resource()
1573 node_set_online(nid); in add_memory_resource()
1574 ret = __register_one_node(nid); in add_memory_resource()
1578 register_memory_blocks_under_node(nid, PFN_DOWN(start), in add_memory_resource()
1610 int __add_memory(int nid, u64 start, u64 size, mhp_t mhp_flags) in __add_memory() argument
1619 ret = add_memory_resource(nid, res, mhp_flags); in __add_memory()
1625 int add_memory(int nid, u64 start, u64 size, mhp_t mhp_flags) in add_memory() argument
1630 rc = __add_memory(nid, start, size, mhp_flags); in add_memory()
1658 int add_memory_driver_managed(int nid, u64 start, u64 size, in add_memory_driver_managed() argument
1677 rc = add_memory_resource(nid, res, mhp_flags); in add_memory_driver_managed()
1867 mtc.nid = folio_nid(list_first_entry(&source, struct folio, lru)); in do_migrate_range()
1874 node_clear(mtc.nid, nmask); in do_migrate_range()
1876 node_set(mtc.nid, nmask); in do_migrate_range()
2144 int *nid = arg; in check_memblock_offlined_cb() local
2146 *nid = mem->nid; in check_memblock_offlined_cb()
2170 static int check_cpu_on_node(int nid) in check_cpu_on_node() argument
2175 if (cpu_to_node(cpu) == nid) in check_cpu_on_node()
2188 int nid = *(int *)arg; in check_no_memblock_for_node_cb() local
2195 return mem->nid == nid ? -EEXIST : 0; in check_no_memblock_for_node_cb()
2207 void try_offline_node(int nid) in try_offline_node() argument
2216 if (node_spanned_pages(nid)) in try_offline_node()
2224 rc = for_each_memory_block(&nid, check_no_memblock_for_node_cb); in try_offline_node()
2228 if (check_cpu_on_node(nid)) in try_offline_node()
2235 node_set_offline(nid); in try_offline_node()
2236 unregister_one_node(nid); in try_offline_node()
2262 int rc, nid = NUMA_NO_NODE; in try_remove_memory() local
2275 rc = walk_memory_blocks(start, size, &nid, check_memblock_offlined_cb); in try_remove_memory()
2306 if (nid != NUMA_NO_NODE) in try_remove_memory()
2307 try_offline_node(nid); in try_remove_memory()