函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:__free_pages_core

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

返回类型:void

参数:

类型参数名称
struct page *page
unsigned intorder
1432  nr_pages等于1左移order
1433  p等于page
1436  3dnow prefetch to get an exclusive cache line.* Useful for spinlocks to avoid one state transition in the* cache coherency protocol:
1437 loop小于nr_pages减1循环
1438  3dnow prefetch to get an exclusive cache line.* Useful for spinlocks to avoid one state transition in the* cache coherency protocol:
1439  __ClearPageReserved(p)
1440  set_page_count(p, 0)
1442  __ClearPageReserved(p)
1443  set_page_count(p, 0)
1445  atomic_long_add(nr_pages, & * spanned_pages is the total pages spanned by the zone, including * holes, which is calculated as: * spanned_pages = zone_end_pfn - zone_start_pfn; * present_pages is physical pages existing within the zone, which * is calculated as: * present_pages = span)
1446  Turn a non-refcounted page (->_refcount == 0) into refcounted with* a count of one.
1447  __free_pages(page, order)
调用者
名称描述
memblock_free_pages