Lines Matching refs:pfn
117 unsigned long pfn = page_to_pfn(page); in lookup_page_ext() local
130 index = pfn - round_down(node_start_pfn(page_to_nid(page)), in lookup_page_ext()
192 unsigned long pfn = page_to_pfn(page); in lookup_page_ext() local
193 struct mem_section *section = __pfn_to_section(pfn); in lookup_page_ext()
202 return get_entry(section->page_ext, pfn); in lookup_page_ext()
221 static int __meminit init_section_page_ext(unsigned long pfn, int nid) in init_section_page_ext() argument
227 section = __pfn_to_section(pfn); in init_section_page_ext()
251 pfn &= PAGE_SECTION_MASK; in init_section_page_ext()
252 section->page_ext = (void *)base - page_ext_size * pfn; in init_section_page_ext()
273 static void __free_page_ext(unsigned long pfn) in __free_page_ext() argument
278 ms = __pfn_to_section(pfn); in __free_page_ext()
281 base = get_entry(ms->page_ext, pfn); in __free_page_ext()
290 unsigned long start, end, pfn; in online_page_ext() local
306 for (pfn = start; !fail && pfn < end; pfn += PAGES_PER_SECTION) { in online_page_ext()
307 if (!pfn_present(pfn)) in online_page_ext()
309 fail = init_section_page_ext(pfn, nid); in online_page_ext()
315 for (pfn = start; pfn < end; pfn += PAGES_PER_SECTION) in online_page_ext()
316 __free_page_ext(pfn); in online_page_ext()
324 unsigned long start, end, pfn; in offline_page_ext() local
329 for (pfn = start; pfn < end; pfn += PAGES_PER_SECTION) in offline_page_ext()
330 __free_page_ext(pfn); in offline_page_ext()
368 unsigned long pfn; in page_ext_init() local
384 for (pfn = start_pfn; pfn < end_pfn; in page_ext_init()
385 pfn = ALIGN(pfn + 1, PAGES_PER_SECTION)) { in page_ext_init()
387 if (!pfn_valid(pfn)) in page_ext_init()
395 if (pfn_to_nid(pfn) != nid) in page_ext_init()
397 if (init_section_page_ext(pfn, nid)) in page_ext_init()