函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:is_free_buddy_page

函数原型:bool is_free_buddy_page(struct page *page)

返回类型:bool

参数:

类型参数名称
struct page *page
8703  zone等于page_zone(page)
8704  pfn等于page_to_pfn(page)
8708  spin_lock_irqsave( & 自旋锁, flags)
8709 order小于Free memory management - zoned buddy allocator. 循环
8710  page_head等于pagepfn按位与1左移order位的值减1的值
8712  如果PageBuddy() indicates that the page is free and in the buddy system* (see mm/page_alloc.c).page_order(page_head)大于等于order退出
8715  spin_unlock_irqrestore( & 自旋锁, flags)
8717  返回:order小于Free memory management - zoned buddy allocator.
调用者
名称描述
shake_pageWhen a unknown page type is encountered drain as many buffers as possible* in the hope to turn the page into a LRU or free page, which we can handle.
memory_failurememory_failure - Handle memory failure of a page.*@pfn: Page Number of the corrupted page*@flags: fine tune action taken* This function is called by the low level machine check code* of an architecture when it detects hardware memory corruption* of a page
__get_any_pageSafely get reference count of an arbitrary page.* Returns 0 for a free page, -EIO for a zero refcount page* that is not free, and 1 for any other page type.* For 1 the page is returned with increased page count, otherwise not.