函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:alloon_page_dequeue - removes a page from balloon's page list and returns* its address to allow the driver to release the page

函数原型:struct page *balloon_page_dequeue(struct balloon_dev_info *b_dev_info)

返回类型:struct page

参数:

类型参数名称
struct balloon_dev_info *b_dev_info
180  LIST_HEAD(pages)
183  n_pages等于alloon_page_list_dequeue() - removes pages from balloon's page list and* returns a list of the pages.*@b_dev_info: balloon device decriptor where we will grab a page from.*@pages: pointer to the list of pages that would be returned to the caller.
185  如果n_pages不等于1则
193  spin_lock_irqsave( & Protection to pages list , flags)
194  如果此条件成立可能性小(为编译器优化)(链表为空 && !# of isolated pages for migration )则BUG()
197  spin_unlock_irqrestore( & Protection to pages list , flags)
198  返回:NULL
200  返回:list_first_entry - get the first element from a list*@ptr: the list head to take the element from.*@type: the type of the struct this is embedded in.*@member: the name of the list_head within the struct.* Note, that list is expected to be not empty.( & pages, structpage, lru)