函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:Try to find non-pfmemalloc slab if needed

函数原型:static noinline struct page *get_valid_first_slab(struct kmem_cache_node *n, struct page *page, bool pfmemalloc)

返回类型:struct page

参数:

类型参数名称
struct kmem_cache_node *n
struct page *page
boolpfmemalloc
2842  如果非page则返回:NULL
2845  如果pfmemalloc则返回:page
2848  如果非If network-based swap is enabled, sl*b must keep track of whether pages* were allocated from pfmemalloc reserves.则返回:page
2852  如果free_objects大于free_limit
2853  ClearPageSlabPfmemalloc(page)
2854  返回:page
2858  删除链表项
2859  如果非 SLAB
2860  添加链表项
2861  free_slabs自加
2862  否则添加链表项
2866  如果非If network-based swap is enabled, sl*b must keep track of whether pages* were allocated from pfmemalloc reserves.则返回:page
2870  free_touched等于1
2872  如果非If network-based swap is enabled, sl*b must keep track of whether pages* were allocated from pfmemalloc reserves.
2873  free_slabs自减
2874  返回:page
2878  返回:NULL
调用者
名称描述
get_first_slab