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()
632 int nid = zone_to_nid(zone); in node_states_check_changes_online() local
638 if (!node_state(nid, N_MEMORY)) in node_states_check_changes_online()
639 arg->status_change_nid = nid; in node_states_check_changes_online()
640 if (zone_idx(zone) <= ZONE_NORMAL && !node_state(nid, N_NORMAL_MEMORY)) in node_states_check_changes_online()
641 arg->status_change_nid_normal = nid; in node_states_check_changes_online()
643 if (zone_idx(zone) <= ZONE_HIGHMEM && !node_state(nid, N_HIGH_MEMORY)) in node_states_check_changes_online()
644 arg->status_change_nid_high = nid; in node_states_check_changes_online()
696 int nid = pgdat->node_id; in move_pfn_range_to_zone() local
717 memmap_init_zone(nr_pages, nid, zone_idx(zone), start_pfn, in move_pfn_range_to_zone()
728 static struct zone *default_kernel_zone_for_pfn(int nid, unsigned long start_pfn, in default_kernel_zone_for_pfn() argument
731 struct pglist_data *pgdat = NODE_DATA(nid); in default_kernel_zone_for_pfn()
744 static inline struct zone *default_zone_for_pfn(int nid, unsigned long start_pfn, in default_zone_for_pfn() argument
747 struct zone *kernel_zone = default_kernel_zone_for_pfn(nid, start_pfn, in default_zone_for_pfn()
749 struct zone *movable_zone = &NODE_DATA(nid)->node_zones[ZONE_MOVABLE]; in default_zone_for_pfn()
768 struct zone * zone_for_pfn_range(int online_type, int nid, unsigned start_pfn, in zone_for_pfn_range() argument
772 return default_kernel_zone_for_pfn(nid, start_pfn, nr_pages); in zone_for_pfn_range()
775 return &NODE_DATA(nid)->node_zones[ZONE_MOVABLE]; in zone_for_pfn_range()
777 return default_zone_for_pfn(nid, start_pfn, nr_pages); in zone_for_pfn_range()
781 int online_type, int nid) in online_pages() argument
797 zone = zone_for_pfn_range(online_type, nid, pfn, nr_pages); in online_pages()
834 node_states_set_node(nid, &arg); in online_pages()
852 kswapd_run(nid); in online_pages()
853 kcompactd_run(nid); in online_pages()
883 static pg_data_t __ref *hotadd_new_pgdat(int nid) in hotadd_new_pgdat() argument
887 pgdat = NODE_DATA(nid); in hotadd_new_pgdat()
889 pgdat = arch_alloc_nodedata(nid); in hotadd_new_pgdat()
895 arch_refresh_nodedata(nid, pgdat); in hotadd_new_pgdat()
915 pgdat->node_id = nid; in hotadd_new_pgdat()
919 free_area_init_core_hotplug(nid); in hotadd_new_pgdat()
938 static void rollback_node_hotadd(int nid) in rollback_node_hotadd() argument
940 pg_data_t *pgdat = NODE_DATA(nid); in rollback_node_hotadd()
942 arch_refresh_nodedata(nid, NULL); in rollback_node_hotadd()
959 static int __try_online_node(int nid, bool set_node_online) in __try_online_node() argument
964 if (node_online(nid)) in __try_online_node()
967 pgdat = hotadd_new_pgdat(nid); in __try_online_node()
969 pr_err("Cannot online node %d due to NULL pgdat\n", nid); in __try_online_node()
975 node_set_online(nid); in __try_online_node()
976 ret = register_one_node(nid); in __try_online_node()
986 int try_online_node(int nid) in try_online_node() argument
991 ret = __try_online_node(nid, true); in try_online_node()
1021 int __ref add_memory_resource(int nid, struct resource *res, mhp_t mhp_flags) in add_memory_resource() argument
1035 if (!node_possible(nid)) { in add_memory_resource()
1036 WARN(1, "node %d was absent from the node_possible_map\n", nid); in add_memory_resource()
1043 memblock_add_node(start, size, nid); in add_memory_resource()
1045 ret = __try_online_node(nid, false); in add_memory_resource()
1051 ret = arch_add_memory(nid, start, size, ¶ms); in add_memory_resource()
1058 arch_remove_memory(nid, start, size, NULL); in add_memory_resource()
1068 node_set_online(nid); in add_memory_resource()
1069 ret = __register_one_node(nid); in add_memory_resource()
1074 link_mem_sections(nid, PFN_DOWN(start), PFN_UP(start + size - 1), in add_memory_resource()
1099 rollback_node_hotadd(nid); in add_memory_resource()
1107 int __ref __add_memory(int nid, u64 start, u64 size, mhp_t mhp_flags) in __add_memory() argument
1116 ret = add_memory_resource(nid, res, mhp_flags); in __add_memory()
1122 int add_memory(int nid, u64 start, u64 size, mhp_t mhp_flags) in add_memory() argument
1127 rc = __add_memory(nid, start, size, mhp_flags); in add_memory()
1155 int add_memory_driver_managed(int nid, u64 start, u64 size, in add_memory_driver_managed() argument
1174 rc = add_memory_resource(nid, res, mhp_flags); in add_memory_driver_managed()
1344 mtc.nid = page_to_nid(list_first_entry(&source, struct page, lru)); in do_migrate_range()
1351 node_clear(mtc.nid, nmask); in do_migrate_range()
1353 node_set(mtc.nid, nmask); in do_migrate_range()
1660 int nid = *(int *)arg; in check_no_memblock_for_node_cb() local
1667 return mem->nid == nid ? -EEXIST : 0; in check_no_memblock_for_node_cb()
1679 void try_offline_node(int nid) in try_offline_node() argument
1681 pg_data_t *pgdat = NODE_DATA(nid); in try_offline_node()
1697 rc = for_each_memory_block(&nid, check_no_memblock_for_node_cb); in try_offline_node()
1708 node_set_offline(nid); in try_offline_node()
1709 unregister_one_node(nid); in try_offline_node()
1713 static int __ref try_remove_memory(int nid, u64 start, u64 size) in try_remove_memory() argument
1739 arch_remove_memory(nid, start, size, NULL); in try_remove_memory()
1748 try_offline_node(nid); in try_remove_memory()
1764 void __remove_memory(int nid, u64 start, u64 size) in __remove_memory() argument
1771 if (try_remove_memory(nid, start, size)) in __remove_memory()
1779 int remove_memory(int nid, u64 start, u64 size) in remove_memory() argument
1784 rc = try_remove_memory(nid, start, size); in remove_memory()
1797 int offline_and_remove_memory(int nid, u64 start, u64 size) in offline_and_remove_memory() argument
1819 rc = try_remove_memory(nid, start, size); in offline_and_remove_memory()