函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:include\linux\gfp.h Create Date:2022-07-27 06:40:30
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:gfpflags_allow_blocking

函数原型:static inline bool gfpflags_allow_blocking(const gfp_t gfp_flags)

返回类型:bool

参数:

类型参数名称
const gfp_tgfp_flags
325  返回:非非gfp_flags按位与Caller can reclaim 的值
调用者
名称描述
radix_tree_node_allocThis assumes that the caller has performed appropriate preallocation, and* that the caller has pinned this thread of control to the current CPU.
radix_tree_preloadLoad up this CPU's radix_tree_node buffer with sufficient objects to* ensure that the addition of a single element in the tree cannot fail
radix_tree_maybe_preloadThe same as above function, except we don't guarantee preloading happens.* We do it, if we decide it helps. On success, return zero with preemption* disabled. On error, return -ENOMEM with preemption not disabled.
__xas_nomem__xas_nomem() - Drop locks and allocate memory if needed.*@xas: XArray operation state.*@gfp: Memory allocation flags.* Internal variant of xas_nomem().* Return: true if memory was needed, and was successfully allocated.
dma_direct_alloc_pages
dma_alloc_contiguousdma_alloc_contiguous() - allocate contiguous pages*@dev: Pointer to device for which the allocation is performed
on_each_cpu_cond_mask_each_cpu_cond(): Call a function on each processor for which* the supplied function cond_func returns true, optionally waiting* for all the required CPUs to finish
audit_log_start申请审计缓冲区
node_reclaim
alloc_vmap_areaAllocate a region of KVA of the specified size and alignment, within the* vstart and vend.
__vmalloc_area_node
dma_pool_allocdma_pool_alloc - get a block of consistent memory*@pool: dma pool that will produce the block*@mem_flags: GFP_* bitmask*@handle: pointer to dma address of block* Return: the kernel virtual address of a currently unused block,
cache_grow_beginGrow (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.
cache_alloc_debugcheck_before
allocate_slab
__kasan_kmalloc
kasan_kmalloc_large
try_charge
z3fold_allocz3fold_alloc() - allocates a region of a given size*@pool: z3fold pool from which to allocate*@size: size in bytes of the desired allocation*@gfp: gfp flags used if the pool needs to grow*@handle: handle of the new allocation* This function will attempt
get_task_io_contextget_task_io_context - get io_context of a task*@task: task of interest*@gfp_flags: allocation flags, used if allocation is necessary*@node: allocation node, used if allocation is necessary* Return io_context of @task
skb_unclone
skb_header_unclone
skb_share_check缓存是共享的则克隆
skb_unshare复制一个共享缓冲区
slab_pre_alloc_hook