| Function report | 
| Source Code: mm\zsmalloc.c | Create Date:2022-07-28 16:28:23 | 
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick | 
| home page | Tree | 
| Annotation kernel can get tool activity | Download SCCT | Chinese | 
Name:zs_create_pool - Creates an allocation pool to work from.*@name: pool name to be created* This function must be called before anything when using* the zsmalloc allocator.* On success, a pointer to the newly created pool is returned,* otherwise NULL.
Proto:struct zs_pool *zs_create_pool(const char *name)
Type:struct zs_pool
Parameter:
| Type | Parameter | Name | 
|---|---|---|
| const char * | name | 
| 2405 | struct size_class * prev_class = NULL | 
| 2407 | pool = kzalloc - allocate memory. The memory is set to zero.*@size: how many bytes of memory are required.*@flags: the type of memory to allocate (see kmalloc). | 
| 2408 | If Not pool Then Return NULL | 
| 2411 | init_deferred_free(pool) | 
| 2421 | If create_cache(pool) Then Go to err | 
| 2433 | fullness = 0 | 
| 2436 | If size > ach chunk includes extra space to keep handle Then size = ach chunk includes extra space to keep handle | 
| 2439 | objs_per_zspage = pages_per_zspage * PAGE_SIZE / size | 
| 2447 | If pages_per_zspage != 1 && objs_per_zspage != 1 && Not huge_class_size Then | 
| 2449 | huge_class_size = size | 
| 2459 | huge_class_size -= ZS_HANDLE_SIZE - 1 | 
| 2471 | If prev_class Then | 
| 2472 | If can_merge(prev_class, pages_per_zspage, objs_per_zspage) Then | 
| 2473 | size_class[i] = prev_class | 
| 2474 | Continue | 
| 2478 | class = kzalloc - allocate memory. The memory is set to zero.*@size: how many bytes of memory are required.*@flags: the type of memory to allocate (see kmalloc). | 
| 2485 | objs_per_zspage = objs_per_zspage | 
| 2486 | Process spin lock initialization( & lock) | 
| 2487 | size_class[i] = class | 
| 2488 | When fullness < NR_ZS_FULLNESS cycle Initialization list head | 
| 2492 | prev_class = class | 
| 2496 | zs_pool_stat_create(pool, name) | 
| 2498 | If zs_register_migration(pool) Then Go to err | 
| 2507 | zs_register_shrinker(pool) | 
| 2509 | Return pool | 
| 2511 | err : | 
| 2512 | zs_destroy_pool(pool) | 
| 2513 | Return NULL | 
| Name | Describe | 
|---|---|
| zs_zpool_create | zpool driver | 
| 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 |