• Home
  • Raw
  • Download

Lines Matching refs:mi

131 				     struct numa_meminfo *mi)  in numa_add_memblk_to()  argument
144 if (mi->nr_blks >= NR_NODE_MEMBLKS) { in numa_add_memblk_to()
149 mi->blk[mi->nr_blks].start = start; in numa_add_memblk_to()
150 mi->blk[mi->nr_blks].end = end; in numa_add_memblk_to()
151 mi->blk[mi->nr_blks].nid = nid; in numa_add_memblk_to()
152 mi->nr_blks++; in numa_add_memblk_to()
164 void __init numa_remove_memblk_from(int idx, struct numa_meminfo *mi) in numa_remove_memblk_from() argument
166 mi->nr_blks--; in numa_remove_memblk_from()
167 memmove(&mi->blk[idx], &mi->blk[idx + 1], in numa_remove_memblk_from()
168 (mi->nr_blks - idx) * sizeof(mi->blk[0])); in numa_remove_memblk_from()
230 int __init numa_cleanup_meminfo(struct numa_meminfo *mi) in numa_cleanup_meminfo() argument
237 for (i = 0; i < mi->nr_blks; i++) { in numa_cleanup_meminfo()
238 struct numa_memblk *bi = &mi->blk[i]; in numa_cleanup_meminfo()
248 numa_remove_memblk_from(i--, mi); in numa_cleanup_meminfo()
252 for (i = 0; i < mi->nr_blks; i++) { in numa_cleanup_meminfo()
253 struct numa_memblk *bi = &mi->blk[i]; in numa_cleanup_meminfo()
255 for (j = i + 1; j < mi->nr_blks; j++) { in numa_cleanup_meminfo()
256 struct numa_memblk *bj = &mi->blk[j]; in numa_cleanup_meminfo()
285 for (k = 0; k < mi->nr_blks; k++) { in numa_cleanup_meminfo()
286 struct numa_memblk *bk = &mi->blk[k]; in numa_cleanup_meminfo()
293 if (k < mi->nr_blks) in numa_cleanup_meminfo()
300 numa_remove_memblk_from(j--, mi); in numa_cleanup_meminfo()
305 for (i = mi->nr_blks; i < ARRAY_SIZE(mi->blk); i++) { in numa_cleanup_meminfo()
306 mi->blk[i].start = mi->blk[i].end = 0; in numa_cleanup_meminfo()
307 mi->blk[i].nid = NUMA_NO_NODE; in numa_cleanup_meminfo()
317 const struct numa_meminfo *mi) in numa_nodemask_from_meminfo() argument
321 for (i = 0; i < ARRAY_SIZE(mi->blk); i++) in numa_nodemask_from_meminfo()
322 if (mi->blk[i].start != mi->blk[i].end && in numa_nodemask_from_meminfo()
323 mi->blk[i].nid != NUMA_NO_NODE) in numa_nodemask_from_meminfo()
324 node_set(mi->blk[i].nid, *nodemask); in numa_nodemask_from_meminfo()
436 static bool __init numa_meminfo_cover_memory(const struct numa_meminfo *mi) in numa_meminfo_cover_memory() argument
442 for (i = 0; i < mi->nr_blks; i++) { in numa_meminfo_cover_memory()
443 u64 s = mi->blk[i].start >> PAGE_SHIFT; in numa_meminfo_cover_memory()
444 u64 e = mi->blk[i].end >> PAGE_SHIFT; in numa_meminfo_cover_memory()
446 numaram -= __absent_pages_in_range(mi->blk[i].nid, s, e); in numa_meminfo_cover_memory()
527 static int __init numa_register_memblks(struct numa_meminfo *mi) in numa_register_memblks() argument
534 numa_nodemask_from_meminfo(&node_possible_map, mi); in numa_register_memblks()
538 for (i = 0; i < mi->nr_blks; i++) { in numa_register_memblks()
539 struct numa_memblk *mb = &mi->blk[i]; in numa_register_memblks()
566 if (!numa_meminfo_cover_memory(mi)) in numa_register_memblks()
574 for (i = 0; i < mi->nr_blks; i++) { in numa_register_memblks()
575 if (nid != mi->blk[i].nid) in numa_register_memblks()
577 start = min(mi->blk[i].start, start); in numa_register_memblks()
578 end = max(mi->blk[i].end, end); in numa_register_memblks()
887 struct numa_meminfo *mi = &numa_meminfo; in memory_add_physaddr_to_nid() local
888 int nid = mi->blk[0].nid; in memory_add_physaddr_to_nid()
891 for (i = 0; i < mi->nr_blks; i++) in memory_add_physaddr_to_nid()
892 if (mi->blk[i].start <= start && mi->blk[i].end > start) in memory_add_physaddr_to_nid()
893 nid = mi->blk[i].nid; in memory_add_physaddr_to_nid()