Skip to content
Snippets Groups Projects
  • Steven Rostedt (VMware)'s avatar
    80765597
    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
    History
    tracing: Rewrite filter logic to be simpler and faster
    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>
Code owners
Assign users and groups as approvers for specific file changes. Learn more.