函数逻辑报告 |
Source Code:mm\slab.c |
Create Date:2022-07-27 17:18:49 |
| Last Modify:2022-05-23 17:02:55 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:Grow (by 1) the number of slabs within a cache. This is called by* kmem_cache_alloc() when there are no active objs left in a cache.
函数原型:static struct page *cache_grow_begin(struct kmem_cache *cachep, gfp_t flags, int nodeid)
返回类型:struct page
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| struct kmem_cache * | cachep | |
| gfp_t | flags | |
| int | nodeid |
| 2632 | flags与等于Do not use these with a slab allocator 的反 |
| 2633 | 打印警告信息("Unexpected gfp: %#x (%pGg). Fixing up to gfp: %#x (%pGg). Fix your code!\n", invalid_mask, & invalid_mask, flags, & flags) |
| 2635 | dump_stack() |
| 2637 | WARN_ON_ONCE(ctor && (flags & __GFP_ZERO)) |
| 2640 | check_irq_off() |
| 2641 | 如果gfpflags_allow_blocking(local_flags)则开中断() |
| 2652 | page_node等于page_to_nid(page) |
| 2656 | colour_next自加 |
| 2657 | 如果colour_next大于等于colour则colour_next等于0 |
| 2660 | offset等于colour_next |
| 2664 | offset乘等于colour_off |
| 2671 | kasan_poison_slab(page) |
| 2681 | cache_init_objs(cachep, page) |
| 2683 | 如果gfpflags_allow_blocking(local_flags)则禁止中断() |
| 2686 | 返回:page |
| 2688 | opps1 : |
| 2690 | failed : |
| 2691 | 如果gfpflags_allow_blocking(local_flags)则禁止中断() |
| 2693 | 返回:NULL |
| 名称 | 描述 |
|---|---|
| cache_alloc_refill | |
| fallback_alloc | Fallback function if there was no memory available and no objects on a* certain node and fall back is permitted. First we scan all the* available node for available objects. If that fails then we* perform an allocation without specifying a node |
| ____cache_alloc_node | A interface to enable slab creation on nodeid |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |