Function report |
Source Code:mm\vmalloc.c |
Create Date:2022-07-28 15:00:17 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:__vmalloc_area_node
Proto:static void *__vmalloc_area_node(struct vm_struct *area, gfp_t gfp_mask, pgprot_t prot, int node)
Type:void
Parameter:
Type | Parameter | Name |
---|---|---|
struct vm_struct * | area | |
gfp_t | gfp_mask | |
pgprot_t | prot | |
int | node |
2454 | highmem_mask = If gfp_mask & (GFP_DMA | GFP_DMA32) Then 0 Else __GFP_HIGHMEM |
2459 | array_size = nr_pages * size of * |
2462 | If array_size > PAGE_SIZE Then |
2463 | pages = __vmalloc_node(array_size, 1, nested_gfp | highmem_mask, PAGE_KERNEL, node, caller) |
2465 | Else |
2466 | pages = kmalloc_node(array_size, nested_gfp, node) |
2469 | If Not pages Then |
2472 | Return NULL |
2481 | If node == NUMA_NO_NODE Then page = alloc_page(alloc_mask | highmem_mask) |
2483 | Else page = Allocate pages, preferring the node given as nid. When nid == NUMA_NO_NODE,* prefer the current CPU's closest node. Otherwise node must be valid and* online. |
2486 | If Value for the false possibility is greater at compile time(!page) Then |
2493 | If gfpflags_allow_blocking(gfp_mask) Then cond_resched() |
2496 | atomic_long_add(nr_pages, & nr_vmalloc_pages) |
2498 | If map_vm_area(area, prot, pages) Then Go to fail |
2500 | Return addr |
2502 | fail : |
2503 | warn_alloc(gfp_mask, NULL, "vmalloc: allocation failure, allocated %ld of %ld bytes", (nr_pages * PAGE_SIZE), size) |
2507 | Return NULL |
Name | Describe |
---|---|
__vmalloc_node_range | __vmalloc_node_range - allocate virtually contiguous memory*@size: allocation size*@align: desired alignment*@start: vm area range start*@end: vm area range end*@gfp_mask: flags for the page level allocator*@prot: protection mask for the allocated pages |
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 |