Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:mm\slab.c Create Date:2022-07-28 15:45:02
Last Modify:2022-05-23 17:02:55 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:Try to find non-pfmemalloc slab if needed

Proto:static noinline struct page *get_valid_first_slab(struct kmem_cache_node *n, struct page *page, bool pfmemalloc)

Type:struct page

Parameter:

TypeParameterName
struct kmem_cache_node *n
struct page *page
boolpfmemalloc
2842  If Not page Then Return NULL
2845  If pfmemalloc Then Return page
2848  If Not If network-based swap is enabled, sl*b must keep track of whether pages* were allocated from pfmemalloc reserves. Then Return page
2852  If free_objects > free_limit Then
2853  ClearPageSlabPfmemalloc(page)
2854  Return page
2858  deletes entry from list
2859  If Not SLAB Then
2860  list_add_tail - add a new entry*@new: new entry to be added*@head: list head to add it before* Insert a new entry before the specified head.* This is useful for implementing queues.
2861  free_slabs++
2862  Else list_add_tail - add a new entry*@new: new entry to be added*@head: list head to add it before* Insert a new entry before the specified head.* This is useful for implementing queues.
2866  If Not If network-based swap is enabled, sl*b must keep track of whether pages* were allocated from pfmemalloc reserves. Then Return page
2870  free_touched = 1
2872  If Not If network-based swap is enabled, sl*b must keep track of whether pages* were allocated from pfmemalloc reserves. Then
2873  free_slabs--
2874  Return page
2878  Return NULL
Caller
NameDescribe
get_first_slab