Lines Matching refs:old_addr
135 unsigned long old_addr, unsigned long old_end, in move_ptes() argument
143 unsigned long len = old_end - old_addr; in move_ptes()
170 old_pte = pte_offset_map_lock(mm, old_pmd, old_addr, &old_ptl); in move_ptes()
178 for (; old_addr < old_end; old_pte++, old_addr += PAGE_SIZE, in move_ptes()
183 pte = ptep_get_and_clear(mm, old_addr, old_pte); in move_ptes()
197 pte = move_pte(pte, new_vma->vm_page_prot, old_addr, new_addr); in move_ptes()
247 static bool move_normal_pmd(struct vm_area_struct *vma, unsigned long old_addr, in move_normal_pmd() argument
305 flush_tlb_range(vma, old_addr, old_addr + PMD_SIZE); in move_normal_pmd()
315 unsigned long old_addr, unsigned long new_addr, pmd_t *old_pmd, in move_normal_pmd() argument
323 static bool move_normal_pud(struct vm_area_struct *vma, unsigned long old_addr, in move_normal_pud() argument
362 flush_tlb_range(vma, old_addr, old_addr + PUD_SIZE); in move_normal_pud()
372 unsigned long old_addr, unsigned long new_addr, pud_t *old_pud, in move_normal_pud() argument
391 unsigned long old_addr, unsigned long old_end, in get_extent() argument
411 next = (old_addr + size) & mask; in get_extent()
413 extent = next - old_addr; in get_extent()
414 if (extent > old_end - old_addr) in get_extent()
415 extent = old_end - old_addr; in get_extent()
427 unsigned long old_addr, unsigned long new_addr, in move_pgt_entry() argument
438 moved = move_normal_pmd(vma, old_addr, new_addr, old_entry, in move_pgt_entry()
442 moved = move_normal_pud(vma, old_addr, new_addr, old_entry, in move_pgt_entry()
447 move_huge_pmd(vma, old_addr, new_addr, old_entry, in move_pgt_entry()
462 unsigned long old_addr, struct vm_area_struct *new_vma, in move_page_tables() argument
473 old_end = old_addr + len; in move_page_tables()
474 flush_cache_range(vma, old_addr, old_end); in move_page_tables()
477 old_addr, old_end); in move_page_tables()
480 for (; old_addr < old_end; old_addr += extent, new_addr += extent) { in move_page_tables()
486 extent = get_extent(NORMAL_PUD, old_addr, old_end, new_addr); in move_page_tables()
490 old_pud = get_old_pud(vma->vm_mm, old_addr); in move_page_tables()
496 if (move_pgt_entry(NORMAL_PUD, vma, old_addr, new_addr, in move_page_tables()
501 extent = get_extent(NORMAL_PMD, old_addr, old_end, new_addr); in move_page_tables()
502 old_pmd = get_old_pmd(vma->vm_mm, old_addr); in move_page_tables()
511 move_pgt_entry(HPAGE_PMD, vma, old_addr, new_addr, in move_page_tables()
514 split_huge_pmd(vma, old_pmd, old_addr); in move_page_tables()
523 if (move_pgt_entry(NORMAL_PMD, vma, old_addr, new_addr, in move_page_tables()
530 move_ptes(vma, old_pmd, old_addr, old_addr + extent, new_vma, in move_page_tables()
536 return len + old_addr - old_end; /* how much done */ in move_page_tables()
540 unsigned long old_addr, unsigned long old_len, in move_vma() argument
570 err = ksm_madvise(vma, old_addr, old_addr + old_len, in move_vma()
575 new_pgoff = vma->vm_pgoff + ((old_addr - vma->vm_start) >> PAGE_SHIFT); in move_vma()
589 moved_len = move_page_tables(vma, old_addr, new_vma, new_addr, old_len, in move_vma()
603 move_page_tables(new_vma, new_addr, vma, old_addr, moved_len, in move_vma()
609 old_addr = new_addr; in move_vma()
613 arch_remap(mm, old_addr, old_addr + old_len, in move_vma()
624 if (old_addr > vma->vm_start && in move_vma()
625 old_addr + old_len < vma->vm_end) in move_vma()
671 if (do_munmap(mm, old_addr, old_len, uf_unmap) < 0) { in move_vma()