函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:mm\khugepaged.c Create Date:2022-07-27 17:40:24
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:hugepage_vma_check

函数原型:static bool hugepage_vma_check(struct vm_area_struct *vma, unsigned long vm_flags)

返回类型:bool

参数:

类型参数名称
struct vm_area_struct *vma
unsigned longvm_flags
410  如果非vm_flags按位与MADV_HUGEPAGE marked this vma 的值且非khugepaged_always()或vm_flags按位与MADV_NOHUGEPAGE marked this vma st_bit - Determine whether a bit is set*@nr: bit number to test*@addr: Address to start counting from则返回:false
415  如果shmem_file(File we map to (can be NULL). )或IS_ENABLED(CONFIG_FOO) evaluates to 1 if CONFIG_FOO is set to 'y' or 'm',* 0 otherwise.(CONFIG_READ_ONLY_THP_FOR_FS)且File we map to (can be NULL). vm_flags按位与ETXTBSY on write attempts..
419  如果非IS_ENABLED(CONFIG_FOO) evaluates to 1 if CONFIG_FOO is set to 'y' or 'm',* 0 otherwise.(CONFIG_TRANSPARENT_HUGE_PAGECACHE)则返回:false
421  返回:IS_ALIGNED((Our start address within vm_mm. >> PAGE_SHIFT determines the page size ) - Offset (within vm_file) in PAGE_SIZEunits , HPAGE_PMD_NR)
424  如果非Serialized by page_table_lock Function pointers to deal with this struct. 则返回:false
426  如果is_vma_temporary_stack(vma)则返回:false
428  返回:非vm_flags按位与VM_NO_KHUGEPAGED的值
调用者
名称描述
khugepaged_enter_vma_merge
hugepage_vma_revalidateIf mmap_sem temporarily dropped, revalidate vma* before taking mmap_sem.* Return 0 if succeeds, otherwise return none-zero* value (scan code).
khugepaged_scan_mm_slot