> The filter expression engine executes in the kernel, when the event happens. The > user-space perf tool parses the --filter parameter and passes it to the kernel as a > string in essence. The kerner parses this into atomic predicaments which are linked > to the event structure. When the event happens the predicaments are executed by the > filter engine.> > The expressions are simple, but rather flexible, so you can do 'fd==0||fd==1' and > more complex expressions, etc. The engine could also be extended.> > The kernel code is mostly in kernel/trace/trace_events_filter.c.> > I've Cc:-ed Tom, Frederic, Steve, Li Zefan and Arnaldo who have worked on the filter > engine, in case something is broken with this functionality or if there are other > questions :)

Yep, and I'm currently working on them as well. As they currently have a32 pred limit (may seem like a lot, but I actually hit it). And I'vealso added short circuits (0 && .... no need to process more).