函数逻辑报告 |
Source Code:mm\gup.c |
Create Date:2022-07-27 16:01:16 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:__mm_populate - populate and/or mlock pages within a range of address space.* This is used to implement mlock() and the MAP_POPULATE / MAP_LOCKED mmap* flags. VMAs must be already marked with the desired vm_flags, and* mmap_sem must not be held.
函数原型:int __mm_populate(unsigned long start, unsigned long len, int ignore_errors)
返回类型:int
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| unsigned long | start | |
| unsigned long | len | |
| int | ignore_errors |
| 1250 | struct vm_area_struct * vma = NULL |
| 1251 | locked等于0 |
| 1252 | ret等于0 |
| 1261 | 如果非locked则 |
| 1262 | locked等于1 |
| 1263 | lock for reading |
| 1265 | 否则如果nstart大于等于The first byte after our end addresswithin vm_mm. 则vma等于linked list of VM areas per task, sorted by address |
| 1267 | 如果非vma或Our start address within vm_mm. 大于等于end则退出 |
| 1274 | 如果Flags, see mm.h. 按位与Memory mapped I/O or similar 按位或Page-ranges managed without "struct page", just pure PFN 的值则继续下一循环 |
| 1284 | 如果ret小于0则 |
| 1292 | ret等于0 |
| 1294 | 如果locked则lease a read lock |
| 1296 | 返回:ret |
| 名称 | 描述 |
|---|---|
| do_mlock | |
| mm_populate |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |