Function report |
Source Code:mm\memory.c |
Create Date:2022-07-28 14:40:26 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:copy_page_range
Proto:int copy_page_range(struct mm_struct *dst_mm, struct mm_struct *src_mm, struct vm_area_struct *vma)
Type:int
Parameter:
Type | Parameter | Name |
---|---|---|
struct mm_struct * | dst_mm | |
struct mm_struct * | src_mm | |
struct vm_area_struct * | vma |
972 | If Not (Flags, see mm.h. & ( Huge TLB Page VM | Page-ranges managed without "struct page", just pure PFN | Can contain "struct page" and pure PFN pages )) && Not Serialized by page_table_lock Then Return 0 |
976 | If is_vm_hugetlb_page(vma) Then Return copy_hugetlb_page_range(dst_mm, src_mm, vma) |
984 | ret = track_pfn_copy(vma) |
995 | is_cow = is_cow_mapping(Flags, see mm.h. ) |
997 | If is_cow Then |
998 | mmu_notifier_range_init( & range, MMU_NOTIFY_PROTECTION_PAGE, 0, vma, src_mm, addr, end) |
1000 | mmu_notifier_invalidate_range_start( & range) |
1003 | ret = 0 |
1006 | Do |
1008 | If pgd_none_or_clear_bad(src_pgd) Then Continue |
1010 | If Value for the false possibility is greater at compile time(copy_p4d_range(dst_mm, src_mm, dst_pgd, src_pgd, vma, addr, next)) Then |
1017 | If is_cow Then mmu_notifier_invalidate_range_end( & range) |
1019 | Return ret |
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 |