From mboxrd@z Thu Jan 1 00:00:00 1970 From: mingo@elte.hu (Ingo Molnar) Date: Tue, 24 Mar 2009 19:39:40 +0100 Subject: [ltt-dev] [patch 8/9] LTTng instrumentation - filemap In-Reply-To: <20090324160149.029092843@polymtl.ca> References: <20090324155625.420966314@polymtl.ca> <20090324160149.029092843@polymtl.ca> Message-ID: <20090324183940.GI31117@elte.hu> * Mathieu Desnoyers wrote: > Index: linux-2.6-lttng/mm/filemap.c > +DEFINE_TRACE(wait_on_page_start); > +DEFINE_TRACE(wait_on_page_end); These are extremely incomplete - to the level of being useless. To understand the lifetime of the pagecache, the following basic events have to be observed and instrumented: - create a new page - fill in a new page - dirty a page [when we know this] - request writeout of a page - clean a page / complete writeout - free a page due to MM pressure - free a page due to truncation/delete The following additional events are useful as well: - mmap a page to a user-space address - copy a page to a user-space address (read) - write to a page from a user-space address (write) - unmap a page from a user-space address - fault in a user-space mapped pagecache page optional: - shmem attach/detach events - shmem map/unmap events - hugetlb map/unmap events I'm sure i havent listed them all. Have a look at the function-graph tracer output to see what kind of basic events can happen to a pagecache page. Ingo