函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:mm\slab_common.c Create Date:2022-07-27 15:53:57
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:find_mergeable

函数原型:struct kmem_cache *find_mergeable(unsigned int size, unsigned int align, slab_flags_t flags, const char *name, void (*ctor)(void *))

返回类型:struct kmem_cache

参数:

类型参数名称
unsigned intsize
unsigned intalign
slab_flags_tflags
const char *name
void (*ctor
337  如果Merge control. If this is set then no merging of slab caches will occur.则返回:NULL
340  如果ctor则返回:NULL
343  size等于@a is a power of 2 value (size, *的长度)
344  align等于Figure out what the alignment of the objects will be given a set of* flags, a user specified alignment and the size of the objects.
345  size等于@a is a power of 2 value (size, align)
346  flags等于kmem_cache_flags(size, flags, name, NULL)
348  如果flags按位与Set of flags that will prevent slab merging则返回:NULL
352  如果Find a mergeable slab cache则继续下一循环
355  如果size大于The size of an object including metadata 则继续下一循环
358  如果flags按位与SLAB_MERGE_SAME的值不等于Used for retrieving partial slabs, etc. 按位与SLAB_MERGE_SAME的值则继续下一循环
364  如果The size of an object including metadata 按位与align减1的差的反的值不等于The size of an object including metadata 则继续下一循环
367  如果The size of an object including metadata size大于等于*的长度则继续下一循环
370  如果IS_ENABLED(CONFIG_FOO) evaluates to 1 if CONFIG_FOO is set to 'y' or 'm',* 0 otherwise.(CONFIG_SLAB)且alignalign大于Alignment Alignment 取模align的值则继续下一循环
374  返回:s
376  返回:NULL
调用者
名称描述
__kmem_cache_alias
__kmem_cache_alias