函数逻辑报告 |
Source Code:mm\huge_memory.c |
Create Date:2022-07-27 17:36:31 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:Returns* - 0 if PMD could not be locked* - 1 if PMD was locked but protections unchange and TLB flush unnecessary* - HPAGE_PMD_NR is protections changed and TLB flush necessary
函数原型:int change_huge_pmd(struct vm_area_struct *vma, pmd_t *pmd, unsigned long addr, pgprot_t newprot, int prot_numa)
返回类型:int
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| struct vm_area_struct * | vma | |
| pmd_t * | pmd | |
| unsigned long | addr | |
| pgprot_t | newprot | |
| int | prot_numa |
| 1935 | 如果非ptl则返回:0 |
| 1938 | preserve_write等于prot_numa且pmd_write( * pmd) |
| 1939 | ret等于1 |
| 1967 | 如果prot_numa且is_huge_zero_pmd( * pmd)则转到:unlock |
| 1970 | 如果prot_numa且pmd_protnone( * pmd)则转到:unlock |
| 1994 | entry等于pmdp_invalidate(vma, addr, pmd) |
| 1996 | entry等于pmd_modify(entry, newprot) |
| 1997 | 如果preserve_write则entry等于pmd_mk_savedwrite(entry) |
| 1999 | ret等于HPAGE_PMD_NR |
| 2000 | set_pmd_at(mm, addr, pmd, entry) |
| 2001 | BUG_ON(vma_is_anonymous(vma) && !preserve_write && pmd_write(entry)) |
| 2002 | unlock : |
| 2003 | 自旋锁解锁 |
| 2004 | 返回:ret |
| 名称 | 描述 |
|---|---|
| change_pmd_range |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |