Lines Matching refs:pfn

157 	unsigned long pfn = page_to_pfn(page);
171 index = pfn - round_down(node_start_pfn(page_to_nid(page)),
236 unsigned long pfn = page_to_pfn(page);
237 struct mem_section *section = __pfn_to_section(pfn);
249 return get_entry(page_ext, pfn);
268 static int __meminit init_section_page_ext(unsigned long pfn, int nid)
274 section = __pfn_to_section(pfn);
283 * The value stored in section->page_ext is (base - pfn)
295 * The passed "pfn" may not be aligned to SECTION. For the calculation
298 pfn &= PAGE_SECTION_MASK;
299 section->page_ext = (void *)base - page_ext_size * pfn;
320 static void __free_page_ext(unsigned long pfn)
325 ms = __pfn_to_section(pfn);
338 base = get_entry(base, pfn);
342 static void __invalidate_page_ext(unsigned long pfn)
347 ms = __pfn_to_section(pfn);
358 unsigned long start, end, pfn;
367 * "start_pfn" passed to us is a pfn which is an arg for
374 for (pfn = start; !fail && pfn < end; pfn += PAGES_PER_SECTION)
375 fail = init_section_page_ext(pfn, nid);
380 end = pfn - PAGES_PER_SECTION;
381 for (pfn = start; pfn < end; pfn += PAGES_PER_SECTION)
382 __free_page_ext(pfn);
390 unsigned long start, end, pfn;
404 for (pfn = start; pfn < end; pfn += PAGES_PER_SECTION)
405 __invalidate_page_ext(pfn);
409 for (pfn = start; pfn < end; pfn += PAGES_PER_SECTION)
410 __free_page_ext(pfn);
444 unsigned long pfn;
458 * scan [start_pfn, the biggest section's pfn < end_pfn) here.
460 for (pfn = start_pfn; pfn < end_pfn;
461 pfn = ALIGN(pfn + 1, PAGES_PER_SECTION)) {
463 if (!pfn_valid(pfn))
468 * -------------pfn-------------->
471 if (pfn_to_nid(pfn) != nid)
473 if (init_section_page_ext(pfn, nid))