函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:include\linux\mm.h Create Date:2022-07-27 06:44:41
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:compound_order

函数原型:static inline unsigned int compound_order(struct page *page)

返回类型:unsigned int

参数:

类型参数名称
struct page *page
778  如果非PageHead(page)则返回:0
780  返回:compound_order
调用者
名称描述
page_cache_deleteLock ordering:* ->i_mmap_rwsem (truncate_pagecache)* ->private_lock (__free_pte->__set_page_dirty_buffers)* ->swap_lock (exclusive_swap_page, others)* ->i_pages lock* ->i_mutex* ->i_mmap_rwsem (truncate->unmap_mapping_range)* ->mmap_sem* ->i_mmap_rwsem
isolate_freepages_blockIsolate free pages onto a private freelist. If @strict is true, will abort* returning 0 on any invalid PFNs or non-free pages inside of the pageblock* (even though it may still end up isolating some pages).
isolate_migratepages_blocksolate_migratepages_block() - isolate all migrate-able pages within* a single pageblock*@cc: Compaction control structure.*@low_pfn: The first PFN to isolate*@end_pfn: The one-past-the-last PFN to isolate, within same pageblock
free_compound_pageHigher-order pages are called "compound pages". They are structured thusly:* The first PAGE_SIZE page is called the "head page" and have PG_head set.* The remaining PAGE_SIZE pages are called "tail pages". PageTail() is encoded
free_pages_prepare
__page_frag_cache_drain
page_frag_freeFrees a page fragment allocated out of either a compound or order 0 page.
add_to_swap_cacheadd_to_swap_cache resembles add_to_page_cache_locked on swapper_space,* but sets SwapCache flag and private instead of mapping and index.
__basepage_index
kfree释放内存
__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
compound_nrReturns the number of pages in this potentially compound page.
page_sizeReturns the number of bytes in this potentially compound page.
page_shiftReturns the number of bits needed for the number of bytes in a page
page_to_pgoffGet the offset in PAGE_SIZE.* (TODO: hugepage should have ->index in PAGE_SIZE)
hugetlb_cgroup_from_page
set_hugetlb_cgroup