summaryrefslogtreecommitdiff
path: root/fs/fhandle.c
diff options
context:
space:
mode:
authorSteven Rostedt (VMware) <rostedt@goodmis.org>2018-03-09 13:19:28 -0500
committerSteven Rostedt (VMware) <rostedt@goodmis.org>2018-03-14 12:35:39 -0400
commit80765597bc587feae8dbc8ce97a0f32e12a6e625 (patch)
tree0a3823a6531798777eed0317f59660ac5495a73b /fs/fhandle.c
parent478325f188657d0e503d1f88cdaf516c792352c5 (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 'fs/fhandle.c')
0 files changed, 0 insertions, 0 deletions