函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:Add the huge page range represented by [f, t) to the reserve* map

函数原型:static long region_add(struct resv_map *resv, long f, long t)

返回类型:long

参数:

类型参数名称
struct resv_map *resv
longf
longt
314  head等于regions
316  add等于0
318  加自旋锁
320  list_for_each_entry - iterate over list of given type*@pos: the type * to use as a loop cursor.*@head: the head for your list.*@member: the name of the list_head within the struct.(rg, head, link)
321  如果f小于等于to退出
329  如果link恒等于headt小于from
330  VM_BUG_ON(region_cache_count <= 0)
332  region_cache_count自减
333  nrg等于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.( & region_cache, structfile_region, link)
335  删除链表项
337  from等于f
338  to等于t
339  添加链表项
341  add加等于tf
342  转到:out_locked
345  add等于Must be called with resv->lock held. Calling this with count_only == true* will count the number of pages to be added but will not modify the linked* list.
347  out_locked :
348  adds_in_progress自减
349  自旋锁解锁
350  VM_BUG_ON(add < 0)
351  返回:add
调用者
名称描述
__vma_reservation_common
hugetlb_reserve_pages