diff options
author | Mathieu Desnoyers <mathieu.desnoyers@efficios.com> | 2011-03-16 19:04:58 -0400 |
---|---|---|
committer | Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> | 2011-03-16 19:04:58 -0400 |
commit | ab1e23d27640b08b12d68f55add7a5314c6bc14b (patch) | |
tree | ee3df9f89e36ca629a21bda9002b9d9af936dad1 /arch/mips/mm/fault.c | |
parent | ba23520dff6bf3448b6238179f56274ee70363c8 (diff) |
lttng-instrumentation/lttng-instrumentation-mips
LTTng - MIPS instrumentation
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Diffstat (limited to 'arch/mips/mm/fault.c')
-rw-r--r-- | arch/mips/mm/fault.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/mips/mm/fault.c b/arch/mips/mm/fault.c index 137ee76a004..1a5bd7b9018 100644 --- a/arch/mips/mm/fault.c +++ b/arch/mips/mm/fault.c @@ -19,6 +19,7 @@ #include <linux/module.h> #include <linux/kprobes.h> #include <linux/perf_event.h> +#include <trace/fault.h> #include <asm/branch.h> #include <asm/mmu_context.h> @@ -28,6 +29,9 @@ #include <asm/highmem.h> /* For VMALLOC_END */ #include <linux/kdebug.h> +DEFINE_TRACE(page_fault_entry); +DEFINE_TRACE(page_fault_exit); + /* * This routine handles page faults. It determines the address, * and the problem, and then passes it off to one of the appropriate @@ -144,7 +148,10 @@ good_area: * make sure we exit gracefully rather than endlessly redo * the fault. */ + trace_page_fault_entry(regs, CAUSE_EXCCODE(regs->cp0_cause), mm, vma, + address, write); fault = handle_mm_fault(mm, vma, address, write ? FAULT_FLAG_WRITE : 0); + trace_page_fault_exit(fault); perf_sw_event(PERF_COUNT_SW_PAGE_FAULTS, 1, 0, regs, address); if (unlikely(fault & VM_FAULT_ERROR)) { if (fault & VM_FAULT_OOM) |