diff options
author | Steven Rostedt <rostedt@goodmis.org> | 2013-06-12 19:16:25 +0200 |
---|---|---|
committer | Steven Rostedt <rostedt@goodmis.org> | 2013-06-20 05:30:40 +0200 |
commit | 1a891cf19cdfb645827969cc6aeaeebdefeb87b2 (patch) | |
tree | 7f62a3cd802158e8c29a6fdac1a54f39ba47a454 /Documentation | |
parent | tracing: Do not call kmem_cache_free() on allocation failure (diff) | |
download | linux-1a891cf19cdfb645827969cc6aeaeebdefeb87b2.tar.xz linux-1a891cf19cdfb645827969cc6aeaeebdefeb87b2.zip |
tracing: Add binary '&' filter for events
There are some cases when filtering on a set flag of a field of a tracepoint
is useful. But currently the only filtering commands for numbered fields
is ==, !=, <, <=, >, >=. This does not help when you just want to trace if
a specific flag is set. For example:
> # sudo trace-cmd record -e brcmfmac:brcmf_dbg -f 'level & 0x40000'
> disable all
> enable brcmfmac:brcmf_dbg
> path = /sys/kernel/debug/tracing/events/brcmfmac/brcmf_dbg/enable
> (level & 0x40000)
> ^
> parse_error: Invalid operator
>
When trying to trace brcmf_dbg when level has its 1 << 18 bit set, the
filter fails to perform.
By allowing a binary '&' operation, this gives the user the ability to
test a bit.
Note, a binary '|' is not added, as it doesn't make sense as fields must
be compared to constants (for now), and ORing a constant will always return
true.
Link: http://lkml.kernel.org/r/1371057385.9844.261.camel@gandalf.local.home
Suggested-by: Arend van Spriel <arend@broadcom.com>
Tested-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/trace/events.txt | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/Documentation/trace/events.txt b/Documentation/trace/events.txt index bb24c2a0e870..41911240c65c 100644 --- a/Documentation/trace/events.txt +++ b/Documentation/trace/events.txt @@ -183,7 +183,7 @@ The relational-operators depend on the type of the field being tested: The operators available for numeric fields are: -==, !=, <, <=, >, >= +==, !=, <, <=, >, >=, & And for string fields they are: |