Linux内核中的主要页面error handling程序

我想知道哪里是主要的页面error handling程序。

我写了一个algorithm来最小化内核中的页面错误。 所以我需要logging一些页面错误发生的事情。 我目前在arch / x86 / mm / fault_32.c的do_page_fault(…)中logging了一个页面错误

但是,似乎小问题和主要的页面错误将进入do_page_fault(…)…小的页面错误总是发生,并使algorithm搞砸了。

我想我只想logging一些主要page_fault时发生的事情。 所以,内核黑客,你能告诉我应该在哪里放我的代码? 哪个文件和哪个function

顺便说一句,我正在破解内核2.6.24

非常感谢你! 阿尔弗雷德

handle_mm_fault函数处理页面错误。 它的返回值是一组标志。 如果VM_FAULT_MAJOR被设置,那么这是一个主要的页面错误。 内核在每个主要页面错误上调用perf_sw_event(PERF_COUNT_SW_PAGE_FAULT_MAJ, 1, 0, ...