[PATCH v2 2/2] pstore: Use global ftrace filters for function trace filtering

From: Joel Fernandes
Date: Tue Nov 15 2016 - 15:31:56 EST


Currently, pstore doesn't have any filters setup for function tracing. This
has the associated overhead and may not be useful for users looking for tracing
specific set of functions.

ftrace's regular function trace filtering is done writing to
tracing/set_ftrace_filter however this is not available if not requested.
Inorder to be able to use this feature, the support to request global filtering
introduced earlier in the series should be requested before registering the
ftrace ops. Here we do the same.

Signed-off-by: Joel Fernandes <joelaf@xxxxxxxxxx>
---
fs/pstore/ftrace.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/fs/pstore/ftrace.c b/fs/pstore/ftrace.c
index d488770..6887fbe 100644
--- a/fs/pstore/ftrace.c
+++ b/fs/pstore/ftrace.c
@@ -71,10 +71,13 @@ static ssize_t pstore_ftrace_knob_write(struct file *f, const char __user *buf,
if (!on ^ pstore_ftrace_enabled)
goto out;

- if (on)
+ if (on) {
+ ftrace_ops_set_global_filter(&pstore_ftrace_ops);
ret = register_ftrace_function(&pstore_ftrace_ops);
- else
+ } else {
ret = unregister_ftrace_function(&pstore_ftrace_ops);
+ }
+
if (ret) {
pr_err("%s: unable to %sregister ftrace ops: %zd\n",
__func__, on ? "" : "un", ret);
--
2.8.0.rc3.226.g39d4020