summaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorSteven Rostedt <srostedt@redhat.com>2011-04-26 16:11:03 -0400
committerSteven Rostedt <rostedt@goodmis.org>2011-04-29 22:53:08 -0400
commit996e87be7f537fb34638875dd37083166c733425 (patch)
tree0d961a4870b39450470b117cde45c3c2c1931959 /kernel
parentd2c8c3eafbf715306ec891e7ca52d3d999acbe31 (diff)
downloadlinux-stable-996e87be7f537fb34638875dd37083166c733425.tar.gz
linux-stable-996e87be7f537fb34638875dd37083166c733425.tar.bz2
linux-stable-996e87be7f537fb34638875dd37083166c733425.zip
ftrace: Move record update for normal and modules into a separate function
The updating of a function record is moved to a single function. This will allow us to add specific changes in one location for both modules and kernel functions. Later patches will determine if the function record itself needs to be updated (which enables the mcount caller), or just the ftrace_ops needs the update. Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/trace/ftrace.c19
1 files changed, 11 insertions, 8 deletions
diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
index 9abaaf46f212..5b758ea344ce 100644
--- a/kernel/trace/ftrace.c
+++ b/kernel/trace/ftrace.c
@@ -1743,6 +1743,15 @@ static int ftrace_match(char *str, char *regex, int len, int type)
return matched;
}
+static void
+update_record(struct dyn_ftrace *rec, unsigned long flag, int not)
+{
+ if (not)
+ rec->flags &= ~flag;
+ else
+ rec->flags |= flag;
+}
+
static int
ftrace_match_record(struct dyn_ftrace *rec, char *regex, int len, int type)
{
@@ -1772,10 +1781,7 @@ static int ftrace_match_records(char *buff, int len, int enable)
do_for_each_ftrace_rec(pg, rec) {
if (ftrace_match_record(rec, search, search_len, type)) {
- if (not)
- rec->flags &= ~flag;
- else
- rec->flags |= flag;
+ update_record(rec, flag, not);
found = 1;
}
/*
@@ -1846,10 +1852,7 @@ static int ftrace_match_module_records(char *buff, char *mod, int enable)
if (ftrace_match_module_record(rec, mod,
search, search_len, type)) {
- if (not)
- rec->flags &= ~flag;
- else
- rec->flags |= flag;
+ update_record(rec, flag, not);
found = 1;
}
if (enable && (rec->flags & FTRACE_FL_FILTER))