函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:Interface to system's page release.

函数原型:static void kmem_freepages(struct kmem_cache *cachep, struct page *page)

返回类型:void

参数:

类型参数名称
struct kmem_cache *cachep
struct page *page
1439  order等于gfporder
1441  BUG_ON(!PageSlab(page))
1442  __ClearPageSlabPfmemalloc(page)
1443  __ClearPageSlab(page)
1444  The atomic page->_mapcount, starts from -1: so that transitions* both from it and to it can be tracked, using atomic_inc_and_test* and atomic_add_negative(-1).
1445  See page-flags.h for PAGE_MAPPING_FLAGS = NULL
1447  如果reclaim_statereclaimed_slab加等于1左移order
1449  uncharge_slab_page(page, order, cachep)
1450  __free_pages(page, order)
调用者
名称描述
kmem_rcu_free
slab_destroyslab_destroy - destroy and release all objects in a slab*@cachep: cache pointer being destroyed*@page: page pointer being destroyed* Destroy all the objs in a slab page, and release the mem back to the system.
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.