函数逻辑报告 |
Source Code:mm\slab_common.c |
Create Date:2022-07-27 15:53:57 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:find_mergeable
函数原型:struct kmem_cache *find_mergeable(unsigned int size, unsigned int align, slab_flags_t flags, const char *name, void (*ctor)(void *))
返回类型:struct kmem_cache
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| unsigned int | size | |
| unsigned int | align | |
| slab_flags_t | flags | |
| const char * | name | |
| void (* | ctor |
| 340 | 如果ctor则返回:NULL |
| 343 | size等于@a is a power of 2 value (size, *的长度) |
| 344 | align等于Figure out what the alignment of the objects will be given a set of* flags, a user specified alignment and the size of the objects. |
| 345 | size等于@a is a power of 2 value (size, align) |
| 346 | flags等于kmem_cache_flags(size, flags, name, NULL) |
| 348 | 如果flags按位与Set of flags that will prevent slab merging则返回:NULL |
| 352 | 如果Find a mergeable slab cache则继续下一循环 |
| 355 | 如果size大于The size of an object including metadata 则继续下一循环 |
| 358 | 如果flags按位与SLAB_MERGE_SAME的值不等于Used for retrieving partial slabs, etc. 按位与SLAB_MERGE_SAME的值则继续下一循环 |
| 364 | 如果The size of an object including metadata 按位与align减1的差的反的值不等于The size of an object including metadata 则继续下一循环 |
| 367 | 如果The size of an object including metadata 减size大于等于*的长度则继续下一循环 |
| 370 | 如果IS_ENABLED(CONFIG_FOO) evaluates to 1 if CONFIG_FOO is set to 'y' or 'm',* 0 otherwise.(CONFIG_SLAB)且align且align大于Alignment 或Alignment 取模align的值则继续下一循环 |
| 374 | 返回:s |
| 376 | 返回:NULL |
| 名称 | 描述 |
|---|---|
| __kmem_cache_alias | |
| __kmem_cache_alias |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |