I have been trying to understand the mechanisms involving major page faults
and timing how long it takes to satisfy PF from backing store.  To that end,
I have been using a patch from LKML that basically adds a trace point to
find_get_page in filemap.c, it also adds an event to add_to_page_cache.  By
combining these two events I was hoping to see how long it takes to handle a
major page faults.

The problem I am running into is that I see many instances where calls to
find_get_page return NULL meaning the page could not be found in the page
cache, however, they do not register as major page faults in the kernel (I
instrumented filemap_fault in filemap.c) .  I do however see other major
page fault events.

Here is my question, does find_get_page returning NULL mean that the page is
NOT in the page cache which would mean major page fault or, are there
situations where NOT in the page cache not really mean NOT in the page
cache, or is it something as simple as readahead accounting for the non
major page fault events?

Moussa

Reply via email to