Function report |
Source Code:mm\zsmalloc.c |
Create Date:2022-07-28 16:27:44 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:zs_malloc - Allocate block of given size from pool.*@pool: pool to allocate from*@size: size of block to allocate*@gfp: gfp flags when allocating object* On success, handle to the allocated object is returned,* otherwise 0.
Proto:unsigned long zs_malloc(struct zs_pool *pool, size_t size, gfp_t gfp)
Type:unsigned long
Parameter:
Type | Parameter | Name |
---|---|---|
struct zs_pool * | pool | |
size_t | size | |
gfp_t | gfp |
1466 | If Value for the false possibility is greater at compile time(!size || size > ach chunk includes extra space to keep handle ) Then Return 0 |
1469 | handle = cache_alloc_handle(pool, gfp) |
1470 | If Not handle Then Return 0 |
1474 | size += ZS_HANDLE_SIZE |
1478 | zspage = find_get_zspage(class) |
1479 | If Value is more likely to compile time(zspage) Then |
1480 | obj = obj_malloc(class, zspage, handle) |
1483 | record_obj(handle, obj) |
1484 | spin_unlock( & lock) |
1486 | Return handle |
1489 | spin_unlock( & lock) |
1492 | If Not zspage Then |
1493 | cache_free_handle(pool, handle) |
1494 | Return 0 |
1498 | obj = obj_malloc(class, zspage, handle) |
1501 | set_zspage_mapping(zspage, index, newfg) |
1502 | record_obj(handle, obj) |
1503 | atomic_long_add( Number of PAGE_SIZE sized pages to combine to form a 'zspage' , & pages_allocated) |
1508 | SetZsPageMovable(pool, zspage) |
1509 | spin_unlock( & lock) |
1511 | Return handle |
Name | Describe |
---|---|
zs_zpool_malloc |
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 |