函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:madvise_free_single_vma

函数原型:static int madvise_free_single_vma(struct vm_area_struct *vma, unsigned long start_addr, unsigned long end_addr)

返回类型:int

参数:

类型参数名称
struct vm_area_struct *vma
unsigned longstart_addr
unsigned longend_addr
696  mm等于The address space we belong to.
701  如果非vma_is_anonymous(vma)则返回:负EINVAL
704  start等于两数取大(Our start address within vm_mm. , start_addr)
705  如果start大于等于The first byte after our end addresswithin vm_mm. 则返回:负EINVAL
707  end等于两数取小(The first byte after our end addresswithin vm_mm. , end_addr)
708  如果end小于等于Our start address within vm_mm. 则返回:负EINVAL
710  mmu_notifier_range_init( & range, MMU_NOTIFY_CLEAR, 0, vma, mm, start, end)
713  lru_add_drain()
714  lb_gather_mmu - initialize an mmu_gather structure for page-table tear-down*@tlb: the mmu_gather structure to initialize*@mm: the mm_struct of the target address space*@start: start of the region that will be removed from the page-table*@end: end of the
715  update_hiwater_rss(mm)
717  mmu_notifier_invalidate_range_start( & range)
718  tlb_start_vma( & tlb, vma)
719  walk_page_range - walk page table with caller specific callbacks*@mm: mm_struct representing the target process of page table walk*@start: start address of the virtual address range*@end: end address of the virtual address range*@ops: operation to call
721  tlb_end_vma( & tlb, vma)
722  mmu_notifier_invalidate_range_end( & range)
723  lb_finish_mmu - finish an mmu_gather structure*@tlb: the mmu_gather structure to finish*@start: start of the region that will be removed from the page-table*@end: end of the region that will be removed from the page-table* Called at the end of the
725  返回:0
调用者
名称描述
madvise_dontneed_free