函数逻辑报告 |
Source Code:mm\mempool.c |
Create Date:2022-07-27 15:27:50 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:mempool_alloc - allocate an element from a specific memory pool*@pool: pointer to the memory pool which was allocated via* mempool_create().*@gfp_mask: the usual allocation bitmask.* this function only sleeps if the alloc_fn() function sleeps or
函数原型:void *mempool_alloc(mempool_t *pool, gfp_t gfp_mask)
返回类型:void
参数:
类型 | 参数 | 名称 |
---|---|---|
mempool_t * | pool | |
gfp_t | gfp_mask |
382 | VM_WARN_ON_ONCE(gfp_mask & __GFP_ZERO) |
383 | might_sleep_if(gfp_mask & Caller can reclaim ) |
385 | gfp_mask或等于__GFP_NOMEMALLOC |
386 | gfp_mask或等于__GFP_NORETRY |
391 | repeat_alloc : |
394 | 如果此条件成立可能性大(为编译器优化)(element != NULL)则返回:element |
397 | spin_lock_irqsave( & lock, flags) |
399 | element等于remove_element(pool) |
400 | spin_unlock_irqrestore( & lock, flags) |
402 | smp_wmb() |
408 | 返回:element |
422 | 如果非gfp_mask按位与Caller can reclaim 的值则 |
423 | spin_unlock_irqrestore( & lock, flags) |
424 | 返回:NULL |
431 | spin_unlock_irqrestore( & lock, flags) |
440 | 转到:repeat_alloc |
名称 | 描述 |
---|---|
sg_pool_alloc | |
bio_alloc_bioset | _alloc_bioset - allocate a bio for I/O*@gfp_mask: the GFP_* mask given to the slab allocator*@nr_iovecs: number of iovecs to pre-allocate*@bs: the bio_set to allocate from |
__blk_queue_bounce | |
bio_integrity_alloc | _integrity_alloc - Allocate integrity payload and attach it to bio*@bio: bio to attach integrity metadata to*@gfp_mask: Memory allocation mask*@nr_vecs: Number of integrity metadata scatter-gather elements* Description: This function prepares a bio for |
btree_node_alloc | |
bvec_alloc | |
fscrypt_alloc_bounce_page |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |