Re: [tip:tracing/core] tracing/filters: Provide basic regex support

From: Steven Rostedt
Date: Sat Sep 26 2009 - 06:11:25 EST


On Fri, 2009-09-25 at 06:19 +0000, tip-bot for Frederic Weisbecker
wrote:
> Commit-ID: 1889d20922d14a97b2099fa4d47587217c0ba48b
> Gitweb: http://git.kernel.org/tip/1889d20922d14a97b2099fa4d47587217c0ba48b
> Author: Frederic Weisbecker <fweisbec@xxxxxxxxx>
> AuthorDate: Thu, 24 Sep 2009 21:10:44 +0200
> Committer: Frederic Weisbecker <fweisbec@xxxxxxxxx>
> CommitDate: Thu, 24 Sep 2009 21:39:27 +0200
>
> tracing/filters: Provide basic regex support
>
> This patch provides basic support for regular expressions in filters.
>
> It supports the following types of regexp:
>
> - *match_beginning
> - *match_middle*
> - match_end*
> - !don't match
>
> Example:
> cd /debug/tracing/events/bkl/lock_kernel
> echo 'file == "*reiserfs*"' > filter
> echo 1 > enable

Darn! I need to keep up with my email more. Someone asked me at my
ftrace tutorial if the filters can take regex's. I told them that I
don't think so. Of course, my tutorial was on 2.6.31 so I was still
correct. But it would have been nice if I told them that it will in
2.6.32 or 33.

-- Steve

>
> gedit-4941 [000] 457.735437: lock_kernel: depth: 0, fs/reiserfs/namei.c:334 reiserfs_lookup()
> sync_supers-227 [001] 461.379985: lock_kernel: depth: 0, fs/reiserfs/super.c:69 reiserfs_sync_fs()
> sync_supers-227 [000] 461.383096: lock_kernel: depth: 0, fs/reiserfs/journal.c:1069 flush_commit_list()
> reiserfs/1-1369 [001] 461.479885: lock_kernel: depth: 0, fs/reiserfs/journal.c:3509 flush_async_commits()
>
> Every string is now handled as a regexp in the filter framework, which
> helps to factorize the code for handling both simple strings and
> regexp comparisons.
>
> (The regexp parsing code has been wildly cherry picked from ftrace.c
> written by Steve.)
>
> v2: Simplify the whole and drop the filter_regex file


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/