]> git.kernelconcepts.de Git - karo-tx-linux.git/commit
tracing: Add NOT to filtering logic
authorSteven Rostedt (Red Hat) <rostedt@goodmis.org>
Tue, 2 Dec 2014 16:55:36 +0000 (11:55 -0500)
committerSteven Rostedt <rostedt@goodmis.org>
Wed, 3 Dec 2014 15:00:13 +0000 (10:00 -0500)
commite12c09cf3087b5a184ffeb55ca368e8aa436a3a2
treeedaefaee5f456a84484ccf40ae8b84f41228253f
parent6a06bdbf7f9c669743f58084991ba280f2925586
tracing: Add NOT to filtering logic

Ted noticed that he could not filter on an event for a bit being cleared.
That's because the filtering logic only tests event fields with a limited
number of comparisons which, for bit logic, only include "&", which can
test if a bit is set, but there's no good way to see if a bit is clear.

This adds a way to do: !(field & 2048)

Which returns true if the bit is not set, and false otherwise.

Note, currently !(field1 == 10 && field2 == 15) is not supported.
That is, the 'not' only works for direct comparisons, not for the
AND and OR logic.

Link: http://lkml.kernel.org/r/20141202021912.GA29096@thunk.org
Link: http://lkml.kernel.org/r/20141202120430.71979060@gandalf.local.home
Acked-by: Alexei Starovoitov <ast@plumgrid.com>
Suggested-by: "Theodore Ts'o" <tytso@mit.edu>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
kernel/trace/trace_events_filter.c