Commit af885de8 authored by Max Filippov's avatar Max Filippov

xtensa: count software page fault perf events

Signed-off-by: default avatarMax Filippov <jcmvbkbc@gmail.com>
parent ae0b7139
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
#include <linux/mm.h> #include <linux/mm.h>
#include <linux/module.h> #include <linux/module.h>
#include <linux/hardirq.h> #include <linux/hardirq.h>
#include <linux/perf_event.h>
#include <linux/uaccess.h> #include <linux/uaccess.h>
#include <asm/mmu_context.h> #include <asm/mmu_context.h>
#include <asm/cacheflush.h> #include <asm/cacheflush.h>
...@@ -142,6 +143,12 @@ void do_page_fault(struct pt_regs *regs) ...@@ -142,6 +143,12 @@ void do_page_fault(struct pt_regs *regs)
} }
up_read(&mm->mmap_sem); up_read(&mm->mmap_sem);
perf_sw_event(PERF_COUNT_SW_PAGE_FAULTS, 1, regs, address);
if (flags & VM_FAULT_MAJOR)
perf_sw_event(PERF_COUNT_SW_PAGE_FAULTS_MAJ, 1, regs, address);
else if (flags & VM_FAULT_MINOR)
perf_sw_event(PERF_COUNT_SW_PAGE_FAULTS_MIN, 1, regs, address);
return; return;
/* Something tried to access memory that isn't in our memory map.. /* Something tried to access memory that isn't in our memory map..
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment