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
203 if ((old_addr & ~PMD_MASK) || (new_addr & ~PMD_MASK) in move_normal_pmd()
204 || old_end - old_addr < PMD_SIZE) in move_normal_pmd()
231 flush_tlb_range(vma, old_addr, old_addr + PMD_SIZE); in move_normal_pmd()
241 unsigned long old_addr, struct vm_area_struct *new_vma, in move_page_tables() argument
249 old_end = old_addr + len; in move_page_tables()
250 flush_cache_range(vma, old_addr, old_end); in move_page_tables()
253 old_addr, old_end); in move_page_tables()
256 for (; old_addr < old_end; old_addr += extent, new_addr += extent) { in move_page_tables()
258 next = (old_addr + PMD_SIZE) & PMD_MASK; in move_page_tables()
260 extent = next - old_addr; in move_page_tables()
261 if (extent > old_end - old_addr) in move_page_tables()
262 extent = old_end - old_addr; in move_page_tables()
263 old_pmd = get_old_pmd(vma->vm_mm, old_addr); in move_page_tables()
275 moved = move_huge_pmd(vma, old_addr, new_addr, in move_page_tables()
282 split_huge_pmd(vma, old_pmd, old_addr); in move_page_tables()
295 moved = move_normal_pmd(vma, old_addr, new_addr, in move_page_tables()
309 move_ptes(vma, old_pmd, old_addr, old_addr + extent, new_vma, in move_page_tables()
315 return len + old_addr - old_end; /* how much done */ in move_page_tables()
319 unsigned long old_addr, unsigned long old_len, in move_vma() argument
349 err = ksm_madvise(vma, old_addr, old_addr + old_len, in move_vma()
354 new_pgoff = vma->vm_pgoff + ((old_addr - vma->vm_start) >> PAGE_SHIFT); in move_vma()
360 moved_len = move_page_tables(vma, old_addr, new_vma, new_addr, old_len, in move_vma()
374 move_page_tables(new_vma, new_addr, vma, old_addr, moved_len, in move_vma()
378 old_addr = new_addr; in move_vma()
382 arch_remap(mm, old_addr, old_addr + old_len, in move_vma()
390 if (old_addr > vma->vm_start && in move_vma()
391 old_addr + old_len < vma->vm_end) in move_vma()
411 if (do_munmap(mm, old_addr, old_len, uf_unmap) < 0) { in move_vma()