函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:include\linux\hugetlb_inline.h Create Date:2022-07-27 06:45:56
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:is_vm_hugetlb_page

函数原型:static inline bool is_vm_hugetlb_page(struct vm_area_struct *vma)

返回类型:bool

参数:

类型参数名称
struct vm_area_struct *vma
11  返回:非非Flags, see mm.h. 按位与Huge TLB Page VM 的值
调用者
名称描述
dup_mmap
__get_user_pages__get_user_pages() - pin user pages in memory*@tsk: task_struct of target task*@mm: mm_struct of target mm*@start: starting user address*@nr_pages: number of pages from start to pin*@gup_flags: flags modifying pin behaviour
free_pgtables
copy_page_range
unmap_single_vma
handle_mm_faultBy the time we get here, we already hold the mm semaphore* The mmap_sem may have been released depending on flags and our* return value. See filemap_fault() and __lock_page_or_retry().
mlock_fixupmlock_fixup - handle mlock[all]/munlock[all] requests.* Filters out "special" vmas -- VM_LOCKED never gets set for these, and* munlock is a no-op. However, for some special vmas, we go ahead and* populate the ptes.
mmap_region
mm_take_all_locksThis operation locks against the VM for all pte/vma/mm related* operations that could ever happen on a certain mm. This includes* vmtruncate, try_to_unmap, and all page faults.* The caller must take the mmap_sem in write mode before calling
change_protection
vma_to_resize
__walk_page_range
madvise_behaviorWe can potentially split a vm area into separate* areas, each area with its own behavior.
vma_resv_map
set_vma_resv_map
set_vma_resv_flags
is_vma_resv_set
reset_vma_resv_huge_pagesReset counters to 0 and clear all HPAGE_RESV_* flags
__unmap_hugepage_range
queue_pages_test_walk
__mcopy_atomic_hugetlb__mcopy_atomic processing for HUGETLB vmas. Note that this routine is* called with mmap_sem held, it will release mmap_sem before returning.
__mcopy_atomic
handle_userfaultThe locking rules involved in returning VM_FAULT_RETRY depending on* FAULT_FLAG_ALLOW_RETRY, FAULT_FLAG_RETRY_NOWAIT and* FAULT_FLAG_KILLABLE are not straightforward
vma_can_userfault
userfaultfd_register
userfaultfd_unregister
linear_page_index