[PATCH 15/16] powerpc/mm: Add support for SPF events

From: Laurent Dufour
Date: Tue Aug 08 2017 - 10:36:39 EST


Add support for the new speculative page faults software events.

Signed-off-by: Laurent Dufour <ldufour@xxxxxxxxxxxxxxxxxx>
---
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