函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:pagetypeinfo_showmixedcount_print

函数原型:void pagetypeinfo_showmixedcount_print(struct seq_file *m, pg_data_t *pgdat, struct zone *zone)

返回类型:void

参数:

类型参数名称
struct seq_file *m
pg_data_t *pgdat
struct zone *zone
259  pfn等于内存域第一个页帧的索引
260  end_pfn等于pfn内存域中页的总数
261  unsigned long count[MIGRATE_TYPES] = {0, }
266  pfn等于内存域第一个页帧的索引
273 pfn小于end_pfn循环
274  page等于Return page for the valid pfn only if the page is online. All pfn* walkers which rely on the fully initialized page->flags and others* should use this rather than pfn_valid && pfn_to_page(pfn)
275  如果非page
277  继续下一循环
280  block_end_pfn等于@a is a power of 2 value (pfn + 1, pageblock_nr_pages)
281  block_end_pfn等于两数取小(block_end_pfn, end_pfn)
283  pageblock_mt等于get_pageblock_migratetype(page)
285 pfn小于block_end_pfn循环
286  如果非pfn_valid_within(pfn)则继续下一循环
290  page等于pfn_to_page(pfn)
292  如果page_zone(page)不等于zone则继续下一循环
304  如果PageReserved(page)则继续下一循环
308  如果此条件成立可能性小(为编译器优化)(!page_ext)则继续下一循环
317  如果pageblock_mt不等于page_mt
320  否则count[pageblock_mt]自加
323  pfn等于block_end_pfn
324  退出
326  pfn加等于1UL左移order位的值减1
331  seq_printf(m, "Node %d, zone %8s ", 全局结点ID, 内存域的惯用名称(NORMAL DMA HIGHMEM))
332 i小于MIGRATE_TYPES循环seq_printf(m, "%12lu ", count[i])
334  seq_putc(m, '\n')