aboutsummaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorSteven Rostedt <srostedt@redhat.com>2011-12-19 15:21:16 -0500
committerSteven Rostedt <rostedt@goodmis.org>2011-12-21 07:25:24 -0500
commit69a3083c4a7df0322d97bb2b43a33cb12af8131a (patch)
tree96b0c48178e812819a2f8d8ccf4600997be41fbb /kernel
parentfc13cb0ce45296f331263a6034aa1814203e1ac3 (diff)
ftrace: Decouple hash items from showing filtered functions
The set_ftrace_filter shows "hashed" functions, which are functions that are added with operations to them (like traceon and traceoff). As other subsystems may be able to show what functions they are using for function tracing, the hash items should no longer be shown just because the FILTER flag is set. As they have nothing to do with other subsystems filters. Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/trace/ftrace.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
index 5b105c5ddc0c..5728d9aa632e 100644
--- a/kernel/trace/ftrace.c
+++ b/kernel/trace/ftrace.c
@@ -2198,6 +2198,9 @@ static void *t_hash_start(struct seq_file *m, loff_t *pos)
2198 void *p = NULL; 2198 void *p = NULL;
2199 loff_t l; 2199 loff_t l;
2200 2200
2201 if (!(iter->flags & FTRACE_ITER_DO_HASH))
2202 return NULL;
2203
2201 if (iter->func_pos > *pos) 2204 if (iter->func_pos > *pos)
2202 return NULL; 2205 return NULL;
2203 2206
@@ -2343,12 +2346,8 @@ static void *t_start(struct seq_file *m, loff_t *pos)
2343 break; 2346 break;
2344 } 2347 }
2345 2348
2346 if (!p) { 2349 if (!p)
2347 if (iter->flags & FTRACE_ITER_FILTER) 2350 return t_hash_start(m, pos);
2348 return t_hash_start(m, pos);
2349
2350 return NULL;
2351 }
2352 2351
2353 return iter; 2352 return iter;
2354} 2353}
@@ -2541,8 +2540,9 @@ ftrace_regex_open(struct ftrace_ops *ops, int flag,
2541static int 2540static int
2542ftrace_filter_open(struct inode *inode, struct file *file) 2541ftrace_filter_open(struct inode *inode, struct file *file)
2543{ 2542{
2544 return ftrace_regex_open(&global_ops, FTRACE_ITER_FILTER, 2543 return ftrace_regex_open(&global_ops,
2545 inode, file); 2544 FTRACE_ITER_FILTER | FTRACE_ITER_DO_HASH,
2545 inode, file);
2546} 2546}
2547 2547
2548static int 2548static int