Lines Matching defs:nid

310 int __ref __add_pages(int nid, unsigned long pfn, unsigned long nr_pages,
345 err = sparse_add_section(nid, pfn, cur_nr_pages, altmap);
355 static unsigned long find_smallest_section_pfn(int nid, struct zone *zone,
363 if (unlikely(pfn_to_nid(start_pfn) != nid))
376 static unsigned long find_biggest_section_pfn(int nid, struct zone *zone,
388 if (unlikely(pfn_to_nid(pfn) != nid))
404 int nid = zone_to_nid(zone);
414 pfn = find_smallest_section_pfn(nid, zone, end_pfn,
430 pfn = find_biggest_section_pfn(nid, zone, zone->zone_start_pfn,
633 int nid = zone_to_nid(zone);
639 if (!node_state(nid, N_MEMORY))
640 arg->status_change_nid = nid;
641 if (zone_idx(zone) <= ZONE_NORMAL && !node_state(nid, N_NORMAL_MEMORY))
642 arg->status_change_nid_normal = nid;
644 if (zone_idx(zone) <= ZONE_HIGHMEM && !node_state(nid, N_HIGH_MEMORY))
645 arg->status_change_nid_high = nid;
697 int nid = pgdat->node_id;
718 memmap_init_zone(nr_pages, nid, zone_idx(zone), start_pfn, 0,
729 static struct zone *default_kernel_zone_for_pfn(int nid, unsigned long start_pfn,
732 struct pglist_data *pgdat = NODE_DATA(nid);
745 static inline struct zone *default_zone_for_pfn(int nid, unsigned long start_pfn,
748 struct zone *kernel_zone = default_kernel_zone_for_pfn(nid, start_pfn,
750 struct zone *movable_zone = &NODE_DATA(nid)->node_zones[ZONE_MOVABLE];
769 struct zone *zone_for_pfn_range(int online_type, int nid,
773 return default_kernel_zone_for_pfn(nid, start_pfn, nr_pages);
776 return &NODE_DATA(nid)->node_zones[ZONE_MOVABLE];
778 return default_zone_for_pfn(nid, start_pfn, nr_pages);
782 int online_type, int nid)
798 zone = zone_for_pfn_range(online_type, nid, pfn, nr_pages);
835 node_states_set_node(nid, &arg);
853 kswapd_run(nid);
854 kcompactd_run(nid);
856 zswapd_run(nid);
887 static pg_data_t __ref *hotadd_new_pgdat(int nid)
891 pgdat = NODE_DATA(nid);
893 pgdat = arch_alloc_nodedata(nid);
899 arch_refresh_nodedata(nid, pgdat);
918 /* we can use NODE_DATA(nid) from here */
919 pgdat->node_id = nid;
923 free_area_init_core_hotplug(nid);
942 static void rollback_node_hotadd(int nid)
944 pg_data_t *pgdat = NODE_DATA(nid);
946 arch_refresh_nodedata(nid, NULL);
954 * @nid: the node ID
963 static int __try_online_node(int nid, bool set_node_online)
968 if (node_online(nid))
971 pgdat = hotadd_new_pgdat(nid);
973 pr_err("Cannot online node %d due to NULL pgdat\n", nid);
979 node_set_online(nid);
980 ret = register_one_node(nid);
990 int try_online_node(int nid)
995 ret = __try_online_node(nid, true);
1025 int __ref add_memory_resource(int nid, struct resource *res, mhp_t mhp_flags)
1039 if (!node_possible(nid)) {
1040 WARN(1, "node %d was absent from the node_possible_map\n", nid);
1047 memblock_add_node(start, size, nid);
1049 ret = __try_online_node(nid, false);
1055 ret = arch_add_memory(nid, start, size, &params);
1062 arch_remove_memory(nid, start, size, NULL);
1072 node_set_online(nid);
1073 ret = __register_one_node(nid);
1078 link_mem_sections(nid, PFN_DOWN(start), PFN_UP(start + size - 1),
1103 rollback_node_hotadd(nid);
1111 int __ref __add_memory(int nid, u64 start, u64 size, mhp_t mhp_flags)
1120 ret = add_memory_resource(nid, res, mhp_flags);
1126 int add_memory(int nid, u64 start, u64 size, mhp_t mhp_flags)
1131 rc = __add_memory(nid, start, size, mhp_flags);
1159 int add_memory_driver_managed(int nid, u64 start, u64 size,
1178 rc = add_memory_resource(nid, res, mhp_flags);
1350 * we can use the nid of the first page to all the others.
1352 mtc.nid = page_to_nid(list_first_entry(&source, struct page, lru));
1359 node_clear(mtc.nid, nmask);
1361 node_set(mtc.nid, nmask);
1673 int nid = *(int *)arg;
1676 * If a memory block belongs to multiple nodes, the stored nid is not
1680 return mem->nid == nid ? -EEXIST : 0;
1685 * @nid: the node ID
1692 void try_offline_node(int nid)
1694 pg_data_t *pgdat = NODE_DATA(nid);
1710 rc = for_each_memory_block(&nid, check_no_memblock_for_node_cb);
1721 node_set_offline(nid);
1722 unregister_one_node(nid);
1726 static int __ref try_remove_memory(int nid, u64 start, u64 size)
1752 arch_remove_memory(nid, start, size, NULL);
1761 try_offline_node(nid);
1769 * @nid: the node ID
1777 void __remove_memory(int nid, u64 start, u64 size)
1784 if (try_remove_memory(nid, start, size))
1792 int remove_memory(int nid, u64 start, u64 size)
1797 rc = try_remove_memory(nid, start, size);
1857 int offline_and_remove_memory(int nid, u64 start, u64 size)
1893 rc = try_remove_memory(nid, start, size);