Why page fault handler behaved this way? Please help!

秦弋戈 michaelbest002 at 126.com
Thu Oct 30 03:10:52 EDT 2014




Dear all,


I am a kernel newbie who want's to learn more about memory management. Recently I'm doing some experiment on page fault handler. There happened something that I couldn't understand.


From reading the book Understanding the Linux Kernel, I know that the kernel loads a page as late as possible. It's only happened when the program has to reference  (read, write, or execute) a page yet the page is not in memory.


However, when I traced all page faults in my test program, I found something strange. My test program is large enough, but there are only two page faults triggered in the code segment of the program, while most of the faults are not in code segment.


At first I thought that perhaps the page is not the normal 4K page. Thus I turned off the PAE support in the config file. But the log remains unchanged.


So why are there only 2 page faults in code segment? It shouldn't be like this in my opinion. Please help me.


The attachment is my kernel log. Limited by the mail size, I couldn't upload my program, but I believe that the log is clear enough.


Thank you very much.
Best regards
-------------- next part --------------
A non-text attachment was scrubbed...
Name: kernel_log
Type: application/octet-stream
Size: 20722 bytes
Desc: not available
Url : http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20141030/52d3469a/attachment-0001.obj 


More information about the Kernelnewbies mailing list