• Home
  • Raw
  • Download

Lines Matching refs:migrate

2139 	struct migrate_vma *migrate = walk->private;  in migrate_vma_collect_hole()  local
2143 migrate->src[migrate->npages] = MIGRATE_PFN_MIGRATE; in migrate_vma_collect_hole()
2144 migrate->dst[migrate->npages] = 0; in migrate_vma_collect_hole()
2145 migrate->npages++; in migrate_vma_collect_hole()
2146 migrate->cpages++; in migrate_vma_collect_hole()
2156 struct migrate_vma *migrate = walk->private; in migrate_vma_collect_skip() local
2160 migrate->dst[migrate->npages] = 0; in migrate_vma_collect_skip()
2161 migrate->src[migrate->npages++] = 0; in migrate_vma_collect_skip()
2172 struct migrate_vma *migrate = walk->private; in migrate_vma_collect_pmd() local
2235 migrate->cpages++; in migrate_vma_collect_pmd()
2260 migrate->cpages++; in migrate_vma_collect_pmd()
2263 page = vm_normal_page(migrate->vma, addr, pte); in migrate_vma_collect_pmd()
2284 migrate->cpages++; in migrate_vma_collect_pmd()
2318 migrate->dst[migrate->npages] = 0; in migrate_vma_collect_pmd()
2319 migrate->src[migrate->npages++] = mpfn; in migrate_vma_collect_pmd()
2344 static void migrate_vma_collect(struct migrate_vma *migrate) in migrate_vma_collect() argument
2349 migrate->vma->vm_mm, migrate->start, migrate->end); in migrate_vma_collect()
2352 walk_page_range(migrate->vma->vm_mm, migrate->start, migrate->end, in migrate_vma_collect()
2353 &migrate_vma_walk_ops, migrate); in migrate_vma_collect()
2356 migrate->end = migrate->start + (migrate->npages << PAGE_SHIFT); in migrate_vma_collect()
2421 static void migrate_vma_prepare(struct migrate_vma *migrate) in migrate_vma_prepare() argument
2423 const unsigned long npages = migrate->npages; in migrate_vma_prepare()
2424 const unsigned long start = migrate->start; in migrate_vma_prepare()
2430 for (i = 0; (i < npages) && migrate->cpages; i++) { in migrate_vma_prepare()
2431 struct page *page = migrate_pfn_to_page(migrate->src[i]); in migrate_vma_prepare()
2437 if (!(migrate->src[i] & MIGRATE_PFN_LOCKED)) { in migrate_vma_prepare()
2447 migrate->src[i] = 0; in migrate_vma_prepare()
2448 migrate->cpages--; in migrate_vma_prepare()
2453 migrate->src[i] |= MIGRATE_PFN_LOCKED; in migrate_vma_prepare()
2466 migrate->src[i] &= ~MIGRATE_PFN_MIGRATE; in migrate_vma_prepare()
2467 migrate->cpages--; in migrate_vma_prepare()
2470 migrate->src[i] = 0; in migrate_vma_prepare()
2472 migrate->cpages--; in migrate_vma_prepare()
2484 migrate->src[i] &= ~MIGRATE_PFN_MIGRATE; in migrate_vma_prepare()
2485 migrate->cpages--; in migrate_vma_prepare()
2493 migrate->src[i] = 0; in migrate_vma_prepare()
2495 migrate->cpages--; in migrate_vma_prepare()
2506 struct page *page = migrate_pfn_to_page(migrate->src[i]); in migrate_vma_prepare()
2508 if (!page || (migrate->src[i] & MIGRATE_PFN_MIGRATE)) in migrate_vma_prepare()
2511 remove_migration_pte(page, migrate->vma, addr, page); in migrate_vma_prepare()
2513 migrate->src[i] = 0; in migrate_vma_prepare()
2531 static void migrate_vma_unmap(struct migrate_vma *migrate) in migrate_vma_unmap() argument
2534 const unsigned long npages = migrate->npages; in migrate_vma_unmap()
2535 const unsigned long start = migrate->start; in migrate_vma_unmap()
2539 struct page *page = migrate_pfn_to_page(migrate->src[i]); in migrate_vma_unmap()
2541 if (!page || !(migrate->src[i] & MIGRATE_PFN_MIGRATE)) in migrate_vma_unmap()
2554 migrate->src[i] &= ~MIGRATE_PFN_MIGRATE; in migrate_vma_unmap()
2555 migrate->cpages--; in migrate_vma_unmap()
2560 struct page *page = migrate_pfn_to_page(migrate->src[i]); in migrate_vma_unmap()
2562 if (!page || (migrate->src[i] & MIGRATE_PFN_MIGRATE)) in migrate_vma_unmap()
2567 migrate->src[i] = 0; in migrate_vma_unmap()
2682 static void migrate_vma_insert_page(struct migrate_vma *migrate, in migrate_vma_insert_page() argument
2688 struct vm_area_struct *vma = migrate->vma; in migrate_vma_insert_page()
2821 void migrate_vma_pages(struct migrate_vma *migrate) in migrate_vma_pages() argument
2823 const unsigned long npages = migrate->npages; in migrate_vma_pages()
2824 const unsigned long start = migrate->start; in migrate_vma_pages()
2830 struct page *newpage = migrate_pfn_to_page(migrate->dst[i]); in migrate_vma_pages()
2831 struct page *page = migrate_pfn_to_page(migrate->src[i]); in migrate_vma_pages()
2836 migrate->src[i] &= ~MIGRATE_PFN_MIGRATE; in migrate_vma_pages()
2841 if (!(migrate->src[i] & MIGRATE_PFN_MIGRATE)) { in migrate_vma_pages()
2850 migrate->vma->vm_mm, in migrate_vma_pages()
2851 addr, migrate->end); in migrate_vma_pages()
2854 migrate_vma_insert_page(migrate, addr, newpage, in migrate_vma_pages()
2855 &migrate->src[i], in migrate_vma_pages()
2856 &migrate->dst[i]); in migrate_vma_pages()
2869 migrate->src[i] &= ~MIGRATE_PFN_MIGRATE; in migrate_vma_pages()
2877 migrate->src[i] &= ~MIGRATE_PFN_MIGRATE; in migrate_vma_pages()
2884 migrate->src[i] &= ~MIGRATE_PFN_MIGRATE; in migrate_vma_pages()
2908 void migrate_vma_finalize(struct migrate_vma *migrate) in migrate_vma_finalize() argument
2910 const unsigned long npages = migrate->npages; in migrate_vma_finalize()
2914 struct page *newpage = migrate_pfn_to_page(migrate->dst[i]); in migrate_vma_finalize()
2915 struct page *page = migrate_pfn_to_page(migrate->src[i]); in migrate_vma_finalize()
2925 if (!(migrate->src[i] & MIGRATE_PFN_MIGRATE) || !newpage) { in migrate_vma_finalize()
2935 migrate->cpages--; in migrate_vma_finalize()