Lines Matching refs:old_addr
116 unsigned long old_addr, unsigned long old_end, in move_ptes() argument
124 unsigned long len = old_end - old_addr; in move_ptes()
151 old_pte = pte_offset_map_lock(mm, old_pmd, old_addr, &old_ptl); in move_ptes()
159 for (; old_addr < old_end; old_pte++, old_addr += PAGE_SIZE, in move_ptes()
164 pte = ptep_get_and_clear(mm, old_addr, old_pte); in move_ptes()
178 pte = move_pte(pte, new_vma->vm_page_prot, old_addr, new_addr); in move_ptes()
195 static bool move_normal_pmd(struct vm_area_struct *vma, unsigned long old_addr, in move_normal_pmd() argument
245 flush_tlb_range(vma, old_addr, old_addr + PMD_SIZE); in move_normal_pmd()
255 unsigned long old_addr, struct vm_area_struct *new_vma, in move_page_tables() argument
263 old_end = old_addr + len; in move_page_tables()
264 flush_cache_range(vma, old_addr, old_end); in move_page_tables()
267 old_addr, old_end); in move_page_tables()
270 for (; old_addr < old_end; old_addr += extent, new_addr += extent) { in move_page_tables()
272 next = (old_addr + PMD_SIZE) & PMD_MASK; in move_page_tables()
274 extent = next - old_addr; in move_page_tables()
275 if (extent > old_end - old_addr) in move_page_tables()
276 extent = old_end - old_addr; in move_page_tables()
280 old_pmd = get_old_pmd(vma->vm_mm, old_addr); in move_page_tables()
292 moved = move_huge_pmd(vma, old_addr, new_addr, in move_page_tables()
299 split_huge_pmd(vma, old_pmd, old_addr); in move_page_tables()
311 moved = move_normal_pmd(vma, old_addr, new_addr, in move_page_tables()
321 move_ptes(vma, old_pmd, old_addr, old_addr + extent, new_vma, in move_page_tables()
327 return len + old_addr - old_end; /* how much done */ in move_page_tables()
331 unsigned long old_addr, unsigned long old_len, in move_vma() argument
361 err = ksm_madvise(vma, old_addr, old_addr + old_len, in move_vma()
366 new_pgoff = vma->vm_pgoff + ((old_addr - vma->vm_start) >> PAGE_SHIFT); in move_vma()
372 moved_len = move_page_tables(vma, old_addr, new_vma, new_addr, old_len, in move_vma()
386 move_page_tables(new_vma, new_addr, vma, old_addr, moved_len, in move_vma()
390 old_addr = new_addr; in move_vma()
394 arch_remap(mm, old_addr, old_addr + old_len, in move_vma()
402 if (old_addr > vma->vm_start && in move_vma()
403 old_addr + old_len < vma->vm_end) in move_vma()
449 if (do_munmap(mm, old_addr, old_len, uf_unmap) < 0) { in move_vma()