perf probe: Fix --del option to delete events only with uprobe events
authorMasami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Wed, 13 Aug 2014 16:12:50 +0000 (16:12 +0000)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Wed, 13 Aug 2014 18:54:11 +0000 (15:54 -0300)
commit467ec08567483e3868f240b1ee03808970e06388
tree672151dca8192560f5459abc5a8de1e2b2a65c6e
parent5e45187cc94814d2a5324bc18af994efc4fb4f7c
perf probe: Fix --del option to delete events only with uprobe events

Current perf probe --del doesn't work if only CONFIG_UPROBE_EVENTS=y
because it aborts when it fails to open kprobe_events file before
checking uprobe_events file.

This fixes --del option to delete dynamic events if it can open either
kprobe_events or uprobe_events. Only if it failed to open both of them,
it shows an error message and aborts.

Without this patch, if we run perf probe -d on the kernel configured
with CONFIG_KPROBE_EVENTS=n and CONFIG_UPROBE_EVENTS=y,

  # perf probe -d \*
  kprobe_events file does not exist - please rebuild kernel with CONFIG_KPROBE_EVENTS.
    Error: Failed to delete events.

With this patch,

  # perf probe -d \*
  Removed event: probe_perf:alloc_event

Changes in v2:
 - Use strerror_r instead of strerror.

Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Naohiro Aota <naota@elisp.net>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/20140813161250.26440.24028.stgit@kbuild-fedora.novalocal
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/probe-event.c