+ -
当前位置:首页 → 问答吧 → 请问do_no_pfn函数是干什么的?

请问do_no_pfn函数是干什么的?

时间:2008-11-24

来源:互联网

谁能具体帮我解释一下

作者: nqdgj2007   发布时间: 2008-11-24

应该是处理no_pfn的page fault的函数, page fault可能有多种原因, 这个是专门处理没有物理页面的

作者: albcamus   发布时间: 2008-11-24



QUOTE:
原帖由 nqdgj2007 于 2008-11-24 17:58 发表
谁能具体帮我解释一下



这个是缺页异常时调用的,专门处理在一个线性区(vma)中,当vma->vm_ops->fault和 vma->vm_ops->nopage这个两个指针为空时而vma->vm_ops->onpfn非空时的情况。其实就是调用vma->vm_ops->onpfn所指的函数生成一个页框号,再把相应的页框号映射到相应线性区里的对应线性地址上

作者: It'sGifted   发布时间: 2008-11-24

它在函数中注释如下:
* do_no_pfn() tries to create a new page mapping for a page without
* a struct_page backing it
我不知道什么意思啊

作者: nqdgj2007   发布时间: 2008-11-24



QUOTE:
原帖由 nqdgj2007 于 2008-11-24 18:28 发表
它在函数中注释如下:
* do_no_pfn() tries to create a new page mapping for a page without
* a struct_page backing it
我不知道什么意思啊



就是说当一个页表项没有一个对应的页描述符与之相对的时候,do_no_pfn就用它来得到一个页框,并与之映射

作者: It'sGifted   发布时间: 2008-11-24

谢谢楼上正解

作者: nqdgj2007   发布时间: 2008-11-24



QUOTE:
就是说当一个页表项没有一个对应的页描述符与之相对的时候,do_no_pfn就用它来得到一个页框,并与之映射 ...
It'sGifted 发表于 2008-11-24 18:30




    哥们,什么情况下会没有对应的描述符 struct page?

作者: unbutun   发布时间: 2010-09-09

热门下载

更多