Add support for the new speculative page faults software events.

Signed-off-by: Laurent Dufour <lduf...@linux.vnet.ibm.com>
---
 arch/powerpc/mm/fault.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/arch/powerpc/mm/fault.c b/arch/powerpc/mm/fault.c
index c6cd40901dd0..112c4bc9da70 100644
--- a/arch/powerpc/mm/fault.c
+++ b/arch/powerpc/mm/fault.c
@@ -306,8 +306,13 @@ int do_page_fault(struct pt_regs *regs, unsigned long 
address,
                        flags |= FAULT_FLAG_WRITE;
 
                fault = handle_speculative_fault(mm, address, flags);
-               if (!(fault & VM_FAULT_RETRY || fault & VM_FAULT_ERROR))
+               if (!(fault & VM_FAULT_RETRY || fault & VM_FAULT_ERROR)) {
+                       perf_sw_event(PERF_COUNT_SW_SPF_DONE, 1,
+                                     regs, address);
                        goto done;
+               }
+
+               perf_sw_event(PERF_COUNT_SW_SPF_FAILED, 1, regs, address);
 
                /*
                 * Resetting flags since the following code assumes
-- 
2.7.4

Reply via email to