函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:Delete the specified range [f, t) from the reserve map. If the* t parameter is LONG_MAX, this indicates that ALL regions after f* should be deleted. Locate the regions which intersect [f, t)* and either trim, delete or split the existing regions.

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

返回类型:long

参数:

类型参数名称
struct resv_map *resv
longf
longt
441  head等于regions
443  struct file_region * nrg = NULL
444  del等于0
446  retry :
447  加自旋锁
456  如果to小于等于fto不等于fromto不等于f的值则继续下一循环
459  如果from大于等于t退出
462  如果f大于fromt小于to
467  如果非nrgregion_cache_count大于adds_in_progress
473  region_cache_count自减
476  如果非nrg
478  nrg等于kmalloc(nrg的长度, GFP_KERNEL)
479  如果非nrg则返回:负ENOMEM
481  转到:retry
484  del加等于tf
487  from等于t
488  to等于to
489  初始化链表头
492  to等于f
494  添加链表项
495  nrg = NULL
496  退出
499  如果f小于等于fromt大于等于to
500  del加等于tofrom
501  删除链表项
502  释放内存
503  继续下一循环
506  如果f小于等于from
507  del加等于tfrom
508  from等于t
509  否则
510  del加等于tof
511  to等于f
515  自旋锁解锁
516  释放内存
517  返回:del
调用者
名称描述
resv_map_release
__vma_reservation_common
hugetlb_unreserve_pages