函数逻辑报告 |
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 插件可实现:逻辑报告 代码生成和批量转换代码 |