Lines Matching refs:nid

45 	int nid;
50 for_each_online_node(nid) {
51 pg_data_t *pgdat = NODE_DATA(nid);
69 listid > 0 ? "thisnode" : "general", nid,
301 int i, nid;
303 for_each_mem_pfn_range(i, MAX_NUMNODES, &start_pfn, &end_pfn, &nid) {
308 node_set_state(nid, N_MEMORY);
342 int i, nid;
363 nid = memblock_get_region_node(r);
366 zone_movable_pfn[nid] = zone_movable_pfn[nid] ?
367 min(usable_startpfn, zone_movable_pfn[nid]) :
394 nid = memblock_get_region_node(r);
403 zone_movable_pfn[nid] = zone_movable_pfn[nid] ?
404 min(usable_startpfn, zone_movable_pfn[nid]) :
461 for_each_node_state(nid, N_MEMORY) {
480 for_each_mem_pfn_range(i, nid, &start_pfn, &end_pfn, NULL) {
483 start_pfn = max(start_pfn, zone_movable_pfn[nid]);
507 zone_movable_pfn[nid] = end_pfn;
521 zone_movable_pfn[nid] = start_pfn + size_pages;
538 * less node in the count. This will push zone_movable_pfn[nid] further
548 for (nid = 0; nid < MAX_NUMNODES; nid++) {
551 zone_movable_pfn[nid] =
552 roundup(zone_movable_pfn[nid], MAX_ORDER_NR_PAGES);
554 get_pfn_range_for_nid(nid, &start_pfn, &end_pfn);
555 if (zone_movable_pfn[nid] >= end_pfn)
556 zone_movable_pfn[nid] = 0;
565 unsigned long zone, int nid)
568 set_page_links(page, zone, nid, pfn);
603 int nid;
608 nid = memblock_search_pfn_nid(pfn, &start_pfn, &end_pfn);
609 if (nid != NUMA_NO_NODE) {
612 state->last_nid = nid;
615 return nid;
621 int nid;
624 nid = __early_pfn_to_nid(pfn, &early_pfnnid_cache);
625 if (nid < 0)
626 nid = first_online_node;
629 return nid;
659 static inline bool __meminit early_page_initialised(unsigned long pfn, int nid)
661 if (node_online(nid) && pfn >= NODE_DATA(nid)->first_deferred_pfn)
672 defer_init(int nid, unsigned long pfn, unsigned long end_pfn)
680 if (end_pfn < pgdat_end_pfn(NODE_DATA(nid)))
683 if (NODE_DATA(nid)->first_deferred_pfn != ULONG_MAX)
702 NODE_DATA(nid)->first_deferred_pfn = pfn;
708 static void __meminit init_reserved_page(unsigned long pfn, int nid)
713 if (early_page_initialised(pfn, nid))
716 pgdat = NODE_DATA(nid);
724 __init_single_page(pfn_to_page(pfn), pfn, zid, nid);
732 static inline bool early_page_initialised(unsigned long pfn, int nid)
737 static inline bool defer_init(int nid, unsigned long pfn, unsigned long end_pfn)
742 static inline void init_reserved_page(unsigned long pfn, int nid)
754 phys_addr_t end, int nid)
763 init_reserved_page(start_pfn, nid);
851 void __meminit memmap_init_range(unsigned long size, int nid, unsigned long zone,
888 if (defer_init(nid, pfn, zone_end_pfn)) {
895 __init_single_page(page, pfn, zone, nid);
925 int nid = zone_to_nid(zone), zone_id = zone_idx(zone);
933 memmap_init_range(end_pfn - start_pfn, nid, zone_id, start_pfn,
937 init_unavailable_range(*hole_pfn, start_pfn, zone_id, nid);
946 int i, j, zone_id = 0, nid;
948 for_each_mem_pfn_range(i, MAX_NUMNODES, &start_pfn, &end_pfn, &nid) {
949 struct pglist_data *node = NODE_DATA(nid);
976 init_unavailable_range(hole_pfn, end_pfn, zone_id, nid);
981 unsigned long zone_idx, int nid,
985 __init_single_page(page, pfn, zone_idx, nid);
1047 unsigned long zone_idx, int nid,
1058 __init_zone_device_page(page, pfn, zone_idx, nid, pgmap);
1083 int nid = pgdat->node_id;
1101 __init_zone_device_page(page, pfn, zone_idx, nid, pgmap);
1106 memmap_init_compound(page, pfn, zone_idx, nid, pgmap,
1125 static void __init adjust_zone_range_for_zone_movable(int nid,
1132 if (zone_movable_pfn[nid]) {
1135 *zone_start_pfn = zone_movable_pfn[nid];
1141 *zone_start_pfn < zone_movable_pfn[nid] &&
1142 *zone_end_pfn > zone_movable_pfn[nid]) {
1143 *zone_end_pfn = zone_movable_pfn[nid];
1146 } else if (*zone_start_pfn >= zone_movable_pfn[nid])
1152 * Return the number of holes in a range on a node. If nid is MAX_NUMNODES,
1155 static unsigned long __init __absent_pages_in_range(int nid,
1163 for_each_mem_pfn_range(i, nid, &start_pfn, &end_pfn, NULL) {
1185 static unsigned long __init zone_absent_pages_in_node(int nid,
1196 nr_absent = __absent_pages_in_range(nid, zone_start_pfn, zone_end_pfn);
1203 if (mirrored_kernelcore && zone_movable_pfn[nid]) {
1230 static unsigned long __init zone_spanned_pages_in_node(int nid,
1243 adjust_zone_range_for_zone_movable(nid, zone_type, node_end_pfn,
1385 static void __meminit zone_init_internals(struct zone *zone, enum zone_type idx, int nid,
1389 zone_set_nid(zone, nid);
1391 zone->zone_pgdat = NODE_DATA(nid);
1516 int nid = pgdat->node_id;
1552 zone_init_internals(zone, z, nid, 0);
1560 int nid = pgdat->node_id;
1573 zone_init_internals(zone, j, nid, zone->present_pages);
1584 phys_addr_t min_addr, int nid, bool exact_nid)
1595 nid);
1599 nid);
1651 * @nid: The nid to return the range for. If MAX_NUMNODES, the min and max PFN are returned.
1659 void __init get_pfn_range_for_nid(unsigned int nid,
1668 for_each_mem_pfn_range(i, nid, &this_start_pfn, &this_end_pfn, NULL) {
1677 static void __init free_area_init_node(int nid)
1679 pg_data_t *pgdat = NODE_DATA(nid);
1686 get_pfn_range_for_nid(nid, &start_pfn, &end_pfn);
1688 pgdat->node_id = nid;
1693 pr_info("Initmem setup node %d [mem %#018Lx-%#018Lx]\n", nid,
1699 pr_info("Initmem setup node %d as memoryless\n", nid);
1766 int i, nid, zone;
1829 for_each_mem_pfn_range(i, MAX_NUMNODES, &start_pfn, &end_pfn, &nid) {
1830 pr_info(" node %3d: [mem %#018Lx-%#018Lx]\n", nid,
1841 for_each_node(nid) {
1844 if (!node_online(nid))
1845 alloc_offline_node_data(nid);
1847 pgdat = NODE_DATA(nid);
1848 free_area_init_node(nid);
1859 node_set_state(nid, N_MEMORY);
1883 * This is used to test whether pfn -> nid mapping of the chosen memory
1895 int i, nid;
1897 for_each_mem_pfn_range(i, MAX_NUMNODES, &start, &end, &nid) {
1898 if (!start || last_nid < 0 || last_nid == nid) {
1899 last_nid = nid;
1969 int nid = zone_to_nid(zone);
1975 __init_single_page(page, pfn, zid, nid);
2282 int nid;
2288 for_each_node_state(nid, N_MEMORY) {
2289 kthread_run(deferred_init_memmap, NODE_DATA(nid), "pgdatinit%d", nid);
2312 for_each_node_state(nid, N_MEMORY)
2313 shuffle_free_memory(NODE_DATA(nid));
2452 int nid = early_pfn_to_nid(pfn);
2454 if (!early_page_initialised(pfn, nid))