ftrace: Support full glob matching
Use glob_match() to support flexible glob wildcards (*,?) and character classes ([) for ftrace. Since the full glob matching is slower than the current partial matching routines(*pat, pat*, *pat*), this leaves those routines and just add MATCH_GLOB for complex glob expression. e.g. ---- [root@localhost tracing]# echo 'sched*group' > set_ftrace_filter [root@localhost tracing]# cat set_ftrace_filter sched_free_group sched_change_group sched_create_group sched_online_group sched_destroy_group sched_offline_group [root@localhost tracing]# echo '[Ss]y[Ss]_*' > set_ftrace_filter [root@localhost tracing]# head set_ftrace_filter sys_arch_prctl sys_rt_sigreturn sys_ioperm SyS_iopl sys_modify_ldt SyS_mmap SyS_set_thread_area SyS_get_thread_area SyS_set_tid_address sys_fork ---- Link: http://lkml.kernel.org/r/147566869501.29136.6462645009894738056.stgit@devbox Acked-by: Namhyung Kim <namhyung@kernel.org> Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org> Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
This commit is contained in:

committed by
Steven Rostedt

parent
546fece4ea
commit
60f1d5e3ba
@@ -4065,7 +4065,7 @@ static const char readme_msg[] =
|
||||
"\n available_filter_functions - list of functions that can be filtered on\n"
|
||||
" set_ftrace_filter\t- echo function name in here to only trace these\n"
|
||||
"\t\t\t functions\n"
|
||||
"\t accepts: func_full_name, *func_end, func_begin*, *func_middle*\n"
|
||||
"\t accepts: func_full_name or glob-matching-pattern\n"
|
||||
"\t modules: Can select a group via module\n"
|
||||
"\t Format: :mod:<module-name>\n"
|
||||
"\t example: echo :mod:ext3 > set_ftrace_filter\n"
|
||||
|
Reference in New Issue
Block a user