Re: [patch 8/9] LTTng instrumentation - filemap

Ingo Molnar
2009-03-24T18:40:48Z

* Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> 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