函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:__free_pages

函数原型:void __free_pages(struct page *page, unsigned int order)

返回类型:void

参数:

类型参数名称
struct page *page
unsigned intorder
4798  如果Drop a ref, return true if the refcount fell to zero (the page has no users)free_the_page(page, order)
调用者
名称描述
do_alloc_pages_order
kvmclock_init_mem
dma_free_contiguousdma_free_contiguous() - release allocated pages*@dev: Pointer to device for which the pages were allocated
kimage_free_pages
__vunmap
__free_pages_core
init_cma_reserved_pageblockFree whole pageblock and set its migration type to MIGRATE_CMA.
__alloc_pages_nodemaskThis is the 'heart' of the zoned buddy allocator.
free_pages
update_and_free_page
slob_free_pages
kfree释放内存
kmem_getpagesInterface to system's page allocator. No need to hold the* kmem_cache_node ->list_lock.* If we requested dmaable memory, we will get it. Even if we* did not request dmaable memory, we might get it, but that* would be relatively rare and ignorable.
kmem_freepagesInterface to system's page release.
alloc_slab_pageSlab allocation and freeing
__free_slab
build_detached_freelistThis function progressively scans the array with free objects (with* a limited look ahead) and extract objects belonging to the same* page. It builds a detached freelist directly within the given* page/objects. This can happen without any need for
kfree释放内存
get_huge_zero_page
shrink_huge_zero_page_scan
unset_migratetype_isolate
irq_init_percpu_irqstackAllocate per-cpu stacks for hardirq and softirq processing
free_thread_stack
mempool_free_pages
dma_free_contiguous
blk_mq_free_rqs