diff options
author | Steven Rostedt (VMware) <rostedt@goodmis.org> | 2018-03-09 13:19:28 -0500 |
---|---|---|
committer | Steven Rostedt (VMware) <rostedt@goodmis.org> | 2018-03-14 12:35:39 -0400 |
commit | 80765597bc587feae8dbc8ce97a0f32e12a6e625 (patch) | |
tree | 0a3823a6531798777eed0317f59660ac5495a73b /tools/perf/scripts/python/export-to-sqlite.py | |
parent | 478325f188657d0e503d1f88cdaf516c792352c5 (diff) |
tracing: Rewrite filter logic to be simpler and faster
Al Viro reviewed the filter logic of ftrace trace events and found it to be
very troubling. It creates a binary tree based on the logic operators and
walks it during tracing. He sent myself and Tom Zanussi a long explanation
(and formal proof) of how to do the string parsing better and end up with a
program array that can be simply iterated to come up with the correct
results.
I took his ideas and his pseudo code and rewrote the filter logic based on
them. In doing so, I was able to remove a lot of code, and have a much more
condensed filter logic in the process. I wrote a very long comment
describing the methadology that Al proposed in my own words. For more info
on how this works, read the comment above predicate_parse().
Suggested-by: Al Viro <viro@ZenIV.linux.org.uk>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Diffstat (limited to 'tools/perf/scripts/python/export-to-sqlite.py')
0 files changed, 0 insertions, 0 deletions