• Steven Rostedt (VMware)'s avatar
    tracing: Rewrite filter logic to be simpler and faster · 80765597
    Steven Rostedt (VMware) authored
    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: default avatarAl Viro <viro@ZenIV.linux.org.uk>
    Signed-off-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
    80765597
trace.h 56.5 KB