函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:vma_adjust_trans_huge

函数原型:void vma_adjust_trans_huge(struct vm_area_struct *vma, unsigned long start, unsigned long end, long adjust_next)

返回类型:void

参数:

类型参数名称
struct vm_area_struct *vma
unsigned longstart
unsigned longend
longadjust_next
2380  如果start按位与HPAGE_PMD_MASK的反且start按位与HPAGE_PMD_MASK的值大于等于Our start address within vm_mm. start按位与HPAGE_PMD_MASK的值加HPAGE_PMD_SIZE小于等于The first byte after our end addresswithin vm_mm. split_huge_pmd_address(vma, start, TSC's on different sockets may be reset asynchronously.* This may cause the TSC ADJUST value on socket 0 to be NOT 0., NULL)
2390  如果end按位与HPAGE_PMD_MASK的反且end按位与HPAGE_PMD_MASK的值大于等于Our start address within vm_mm. end按位与HPAGE_PMD_MASK的值加HPAGE_PMD_SIZE小于等于The first byte after our end addresswithin vm_mm. split_huge_pmd_address(vma, end, TSC's on different sockets may be reset asynchronously.* This may cause the TSC ADJUST value on socket 0 to be NOT 0., NULL)
2400  如果adjust_next大于0则
2401  next等于linked list of VM areas per task, sorted by address
2402  nstart等于Our start address within vm_mm.
2403  nstart加等于adjust_next左移PAGE_SHIFT determines the page size
2404  如果nstart按位与HPAGE_PMD_MASK的反且nstart按位与HPAGE_PMD_MASK的值大于等于Our start address within vm_mm. nstart按位与HPAGE_PMD_MASK的值加HPAGE_PMD_SIZE小于等于The first byte after our end addresswithin vm_mm. split_huge_pmd_address(next, nstart, TSC's on different sockets may be reset asynchronously.* This may cause the TSC ADJUST value on socket 0 to be NOT 0., NULL)
调用者
名称描述
SYSCALL_DEFINE5Emulation of deprecated remap_file_pages() syscall.
__vma_adjustWe cannot adjust vm_start, vm_end, vm_pgoff fields of a vma that* is already present in an i_mmap tree without adjusting the tree.* The following helper function should be used when such adjustments* are necessary