Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:include\linux\page-flags.h Create Date:2022-07-28 05:37:14
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:PageBuddy() indicates that the page is free and in the buddy system* (see mm/page_alloc.c).

Proto:static inline __attribute__((__always_inline__)) int PageBuddy(struct page *page)

Type:int

Parameter:

TypeParameterName
struct page *page
756  Return (* If the page is neither PageSlab nor mappable to userspace, * the value stored here may help determine what this page * is used for. See page-flags.h for a list of page types * which are currently stored here. & (0xf0000000 | 0x00000080)) == 0xf0000000
Caller
NameDescribe
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
page_is_buddyThis function checks whether a page is free && is the buddy* we can coalesce a page and its buddy if* (a) the buddy is not in a hole (check before calling!) &&* (b) the buddy is in the buddy system &&* (c) a page and its buddy have the same order &&
move_freepagesMove the free pages in a range to the free lists of the requested type.* Note that start_page and end_pages are not aligned on a pageblock* boundary. If alignment is required, use move_freepages_block()
__isolate_free_page
has_unmovable_pagesThis function checks whether pageblock includes unmovable pages or not.* If @count is not zero, it is okay to include less @count unmovable pages* PageLRU check without isolation or lru_lock could race so that
is_free_buddy_page
set_hwpoison_free_buddy_pageSet PG_hwpoison flag if a given page is confirmed to be a free page. This* test is performed under the zone lock to prevent a race against page* allocation.
shuffle_valid_pageFor two pages to be swapped in the shuffle, they must be free (on a* 'free_area' lru), have the same order, and have the same migratetype.
pagetypeinfo_showmixedcount_print
read_page_owner
init_pages_in_zone
unset_migratetype_isolate
__test_page_isolated_in_pageblockTest all pages in the range is free(means isolated) or not.* all pages in [start_pfn...end_pfn) must be in the same zone.* zone->lock must be held before call this.* Returns the last tested pfn.