函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:mm\slab.c Create Date:2022-07-27 17:19:38
Last Modify:2022-05-23 17:02:55 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:___cache_free

函数原型:void ___cache_free(struct kmem_cache *cachep, void *objp, unsigned long caller)

返回类型:void

参数:

类型参数名称
struct kmem_cache *cachep
void *objp
unsigned longcaller
3483  ac等于cpu_cache_get(cachep)
3485  check_irq_off()
3486  如果此条件成立可能性小(为编译器优化)(slab_want_init_on_free(cachep))则memset(objp, 0, The size of an object without metadata )
3488  kmemleak_free_recursive(objp, Used for retrieving partial slabs, etc. )
3489  objp等于cache_free_debugcheck(cachep, objp, caller)
3498  如果nr_online_nodes大于1且cache_free_alien(cachep, objp)则返回
3501  如果avail小于limit
3502  STATS_INC_FREEHIT(cachep)
3503  否则
3504  STATS_INC_FREEMISS(cachep)
3505  cache_flusharray(cachep, ac)
3508  如果sk_memalloc_socks()则
3509  page等于virt_to_head_page(objp)
3513  返回
3517  Must have this definition in here for the proper* alignment of array_cache. Also simplifies accessing* the entries.[avail++]等于objp
调用者
名称描述
__cache_freeRelease an obj back to its cache. If the obj has a constructed state, it must* be in this state _before_ it is released. Called with disabled ints.
qlink_free