函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:Caller should ensure that requested range is in a single zone

函数原型:int test_pages_isolated(unsigned long start_pfn, unsigned long end_pfn, int isol_flags)

返回类型:int

参数:

类型参数名称
unsigned longstart_pfn
unsigned longend_pfn
intisol_flags
301 pfn小于end_pfn循环
302  page等于__first_valid_page(pfn, pageblock_nr_pages)
303  如果page且非is_migrate_isolate_page(page)则退出
306  page等于__first_valid_page(start_pfn, end_pfn - start_pfn)
307  如果pfn小于end_pfn或非page则返回:负EBUSY
310  zone等于page_zone(page)
311  spin_lock_irqsave( & 自旋锁, flags)
312  pfn等于Test all pages in the range is free(means isolated) or not.* all pages in [start_pfn...end_pfn) must be in the same zone.* zone->lock must be held before call this.* Returns the last tested pfn.
313  spin_unlock_irqrestore( & 自旋锁, flags)
315  trace_test_pages_isolated(start_pfn, end_pfn, pfn)
317  返回:如果pfn小于end_pfn则负EBUSY否则0