| Function report | 
| Source Code: mm\gup.c | Create Date:2022-07-28 14:35:20 | 
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick | 
| home page | Tree | 
| Annotation kernel can get tool activity | Download SCCT | Chinese | 
Name:__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.
Proto:int __mm_populate(unsigned long start, unsigned long len, int ignore_errors)
Type:int
Parameter:
| Type | Parameter | Name | 
|---|---|---|
| unsigned long | start | |
| unsigned long | len | |
| int | ignore_errors | 
| 1250 | struct vm_area_struct * vma = NULL | 
| 1251 | locked = 0 | 
| 1252 | ret = 0 | 
| 1261 | If Not locked Then | 
| 1262 | locked = 1 | 
| 1263 | lock for reading | 
| 1265 | Else if nstart >= The first byte after our end addresswithin vm_mm. Then vma = linked list of VM areas per task, sorted by address | 
| 1267 | If Not vma || Our start address within vm_mm. >= end Then Break | 
| 1273 | nend = min - return minimum of two values of the same or compatible types*@x: first value*@y: second value(end, The first byte after our end addresswithin vm_mm. ) | 
| 1274 | If Flags, see mm.h. & (Memory mapped I/O or similar | Page-ranges managed without "struct page", just pure PFN ) Then Continue | 
| 1276 | If nstart < Our start address within vm_mm. Then nstart = Our start address within vm_mm. | 
| 1284 | If ret < 0 Then | 
| 1292 | ret = 0 | 
| 1294 | If locked Then lease a read lock | 
| 1296 | Return ret | 
| Name | Describe | 
|---|---|
| do_mlock | |
| mm_populate | 
| Source code conversion tool public plug-in interface | X | 
|---|---|
| Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |