函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:free_unref_page_commit

函数原型:static void free_unref_page_commit(struct page *page, unsigned long pfn)

返回类型:void

参数:

类型参数名称
struct page *page
unsigned longpfn
3021  zone等于page_zone(page)
3025  migratetype等于A cached value of the page's pageblock's migratetype, used when the page is* put on a pcplist
3026  __count_vm_event(PGFREE)
3035  如果migratetype大于等于MIGRATE_PCPTYPES
3038  返回
3040  migratetype等于MIGRATE_MOVABLE
3043  pcp = & ({
3043  0
3043  ({
3043  循环
3043  const void * __vpp_verify = NULL
3043  当0循环
3043  })
3043  })->pcp
3044  添加链表项
3045  number of pages in the list 自加
3046  如果 number of pages in the list 大于等于 high watermark, emptying needed
3047  batch等于READ_ONCE( chunk size for buddy add/remove )
3048  Frees a number of pages from the PCP lists* Assumes all pages on list are in same zone, and of same order.* count is the number of pages to free.* If the zone was previously in an "all pages pinned" state then look to
调用者
名称描述
free_unref_pageFree a 0-order page
free_unref_page_listFree a list of 0-order pages