| 函数逻辑报告 | 
| Source Code: lib\test_meminit.c | Create Date:2022-07-27 07:35:12 | 
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick | 
| 首页 | 函数Tree | 
| 注解内核,赢得工具 | 下载SCCT | English | 
函数名称:Test kmem_cache with given parameters:
函数原型:static int __init do_kmem_cache_size(size_t size, bool want_ctor, bool want_rcu, bool want_zero, int *total_failures)
返回类型:int
参数:
| 类型 | 参数 | 名称 | 
|---|---|---|
| size_t | size | |
| bool | want_ctor | use a constructor; | 
| bool | want_rcu | use SLAB_TYPESAFE_BY_RCU; | 
| bool | want_zero | use __GFP_ZERO. | 
| int * | total_failures | 
| 201 | bool fail = false | 
| 202 | alloc_mask等于GFP_KERNEL按位或如果 use __GFP_ZERO.则__GFP_ZERO否则0 | 
| 210 | 如果非 use SLAB_TYPESAFE_BY_RCU;且非 use a constructor;则 | 
| 213 | ret等于kmem_cache_alloc_bulk(c, alloc_mask, BULK_SIZE, bulk_array) | 
| 214 | 如果非ret则 | 
| 215 | fail = true | 
| 216 | 否则 | 
| 220 | kmem_cache_free_bulk(c, ret, bulk_array) | 
| 224 | buf等于kmem_cache_alloc(c, alloc_mask) | 
| 229 | 如果非 use SLAB_TYPESAFE_BY_RCU;则 | 
| 230 | kmem_cache_free(c, buf) | 
| 231 | 继续下一循环 | 
| 247 | kmem_cache_free(c, buf) | 
| 255 | 如果buf_copy则 | 
| 261 | 删除高速缓存区 | 
| 263 | total_failures加等于fail | 
| 264 | 返回:1 | 
| 名称 | 描述 | 
|---|---|
| test_kmemcache | Test kmem_cache allocation by creating caches of different sizes, with and* without constructors, with and without SLAB_TYPESAFE_BY_RCU. | 
| 源代码转换工具 开放的插件接口 | X | 
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |