函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:huge_pmd_set_accessed

函数原型:void huge_pmd_set_accessed(struct vm_fault *vmf, pmd_t orig_pmd)

返回类型:void

参数:

类型参数名称
struct vm_fault *vmf
pmd_torig_pmd
1181  write等于FAULT_FLAG_xxx flags 按位与Fault was a write access
1183  Page table lock.* Protects pte page table if 'pte'* is not NULL, otherwise pmd.等于pmd_lock(The address space we belong to. , Pointer to pmd entry matching* the 'address' )
1184  如果此条件成立可能性小(为编译器优化)(!pmd_same( * Pointer to pmd entry matching* the 'address' , orig_pmd))则转到:unlock
1187  entry等于pmd_mkyoung(orig_pmd)
1188  如果writeentry等于pmd_mkdirty(entry)
1190  haddr等于Faulting virtual address 按位与HPAGE_PMD_MASK
1191  如果pmdp_set_access_flags(Target VMA , haddr, Pointer to pmd entry matching* the 'address' , entry, write)则update_mmu_cache_pmd(Target VMA , Faulting virtual address , Pointer to pmd entry matching* the 'address' )
1194  unlock :
1195  自旋锁解锁
调用者
名称描述
__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().