Function report |
Source Code:mm\mremap.c |
Create Date:2022-07-28 14:53:02 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:move_ptes
Proto:static void move_ptes(struct vm_area_struct *vma, pmd_t *old_pmd, unsigned long old_addr, unsigned long old_end, struct vm_area_struct *new_vma, pmd_t *new_pmd, unsigned long new_addr, bool need_rmap_locks)
Type:void
Parameter:
| Type | Parameter | Name |
|---|---|---|
| struct vm_area_struct * | vma | |
| pmd_t * | old_pmd | |
| unsigned long | old_addr | |
| unsigned long | old_end | |
| struct vm_area_struct * | new_vma | |
| pmd_t * | new_pmd | |
| unsigned long | new_addr | |
| bool | need_rmap_locks |
| 123 | bool force_flush = false |
| 144 | If need_rmap_locks Then take_rmap_locks(vma) |
| 152 | new_pte = pte_offset_map(new_pmd, new_addr) |
| 153 | new_ptl = pte_lockptr(mm, new_pmd) |
| 164 | pte = ptep_get_and_clear(mm, old_addr, old_pte) |
| 176 | If pte_present(pte) Then force_flush = true |
| 179 | pte = move_soft_dirty_pte(pte) |
| 180 | set_pte_at(mm, new_addr, new_pte, pte) |
| 183 | arch_leave_lazy_mmu_mode() |
| 184 | If force_flush Then flush_tlb_range(vma, old_end - len, old_end) |
| 186 | If new_ptl != old_ptl Then spin_unlock(new_ptl) |
| 189 | pte_unmap_unlock(old_pte - 1, old_ptl) |
| 190 | If need_rmap_locks Then drop_rmap_locks(vma) |
| Name | Describe |
|---|---|
| move_page_tables |
| Source code conversion tool public plug-in interface | X |
|---|---|
| Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |