| Function report | 
| Source Code: mm\vmalloc.c | Create Date:2022-07-28 14:59:27 | 
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick | 
| home page | Tree | 
| Annotation kernel can get tool activity | Download SCCT | Chinese | 
Name:vb_alloc
Proto:static void *vb_alloc(unsigned long size, gfp_t gfp_mask)
Type:void
Parameter:
| Type | Parameter | Name | 
|---|---|---|
| unsigned long | size | |
| gfp_t | gfp_mask | 
| 1610 | void * vaddr = NULL | 
| 1613 | BUG_ON(offset_in_page(size)) | 
| 1614 | BUG_ON(size > PAGE_SIZE * 256K with 4K pages ) | 
| 1621 | Return NULL | 
| 1623 | order = get_order - Determine the allocation order of a memory size*@size: The size for which to get the order* Determine the allocation order of a particular sized block of memory | 
| 1626 | vbq = Must be an lvalue. Since @var must be a simple identifier,* we force a syntax error here if it isn't.(Queue of free and dirty vmap blocks, for allocation and flushing purposes ) | 
| 1632 | spin_unlock( & lock) | 
| 1633 | Continue | 
| 1636 | pages_off = VMAP_BBMAP_BITS - free | 
| 1637 | vaddr = vmap_block_vaddr(va_start, pages_off) | 
| 1639 | If free == 0 Then | 
| 1642 | spin_unlock( & lock) | 
| 1645 | spin_unlock( & lock) | 
| 1646 | Break | 
| 1649 | The weird & is necessary because sparse considers (void)(var) to be* a direct dereference of percpu variable (var).(Queue of free and dirty vmap blocks, for allocation and flushing purposes ) | 
| 1653 | If Not vaddr Then vaddr = w_vmap_block - allocates new vmap_block and occupies 2^order pages in this* block | 
| 1656 | Return vaddr | 
| Name | Describe | 
|---|---|
| vm_map_ram | vm_map_ram - map pages linearly into kernel virtual address (vmalloc space)*@pages: an array of pointers to the pages to be mapped*@count: number of pages*@node: prefer to allocate data structures on this node*@prot: memory protection to use | 
| 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 |