summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2012-10-26 13:42:45 +0200
committerGerd Hoffmann <kraxel@redhat.com>2012-11-01 15:21:01 +0100
commit20f684ba652b8e05cf658b3e90a2efed803a928f (patch)
tree682a28846ca88b6796f41ce27ab936845293f806
parent70d7c255456bc61fb482db7c0e291f136a417c8d (diff)
trace: allow disabling events in events file
Disable trace events prefixed with a '-'. Useful to enable a group of tracepoints with exceptions, like this: usb_xhci_port_* -usb_xhci_port_read which will enable all xhci port tracepoints except reads. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
-rw-r--r--trace/control.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/trace/control.c b/trace/control.c
index 22d5863ee..be05efb99 100644
--- a/trace/control.c
+++ b/trace/control.c
@@ -12,6 +12,8 @@
void trace_backend_init_events(const char *fname)
{
+ int ret;
+
if (fname == NULL) {
return;
}
@@ -30,7 +32,12 @@ void trace_backend_init_events(const char *fname)
if ('#' == line_buf[0]) { /* skip commented lines */
continue;
}
- if (!trace_event_set_state(line_buf, true)) {
+ if ('-' == line_buf[0]) {
+ ret = trace_event_set_state(line_buf+1, false);
+ } else {
+ ret = trace_event_set_state(line_buf, true);
+ }
+ if (!ret) {
fprintf(stderr,
"error: trace event '%s' does not exist\n", line_buf);
exit(1);