From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753855AbbE0Qxw (ORCPT ); Wed, 27 May 2015 12:53:52 -0400 Received: from terminus.zytor.com ([198.137.202.10]:39165 "EHLO terminus.zytor.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753271AbbE0Qxf (ORCPT ); Wed, 27 May 2015 12:53:35 -0400 Date: Wed, 27 May 2015 09:52:57 -0700 From: tip-bot for Masami Hiramatsu Message-ID: Cc: jolsa@redhat.com, mingo@kernel.org, richard@nod.at, linux-kernel@vger.kernel.org, dsahern@gmail.com, tglx@linutronix.de, masami.hiramatsu.pt@hitachi.com, acme@redhat.com, peterz@infradead.org, acme@kernel.org, namhyung@kernel.org, hpa@zytor.com Reply-To: mingo@kernel.org, richard@nod.at, linux-kernel@vger.kernel.org, jolsa@redhat.com, peterz@infradead.org, hpa@zytor.com, acme@kernel.org, namhyung@kernel.org, dsahern@gmail.com, tglx@linutronix.de, masami.hiramatsu.pt@hitachi.com, acme@redhat.com In-Reply-To: <20150527083725.23880.45209.stgit@localhost.localdomain> References: <20150527083725.23880.45209.stgit@localhost.localdomain> To: linux-tip-commits@vger.kernel.org Subject: [tip:perf/core] perf probe: Fix an error when deleting probes successfully Git-Commit-ID: dddc7ee32fa13efc66afa71ebd83bce545c8392a X-Mailer: tip-git-log-daemon Robot-ID: Robot-Unsubscribe: Contact to get blacklisted from these emails MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=UTF-8 Content-Disposition: inline Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Commit-ID: dddc7ee32fa13efc66afa71ebd83bce545c8392a Gitweb: http://git.kernel.org/tip/dddc7ee32fa13efc66afa71ebd83bce545c8392a Author: Masami Hiramatsu AuthorDate: Wed, 27 May 2015 17:37:25 +0900 Committer: Arnaldo Carvalho de Melo CommitDate: Wed, 27 May 2015 12:21:46 -0300 perf probe: Fix an error when deleting probes successfully Fix a bug in del_perf_probe_events() which returns an error (-ENOENT) even if the probes are successfully deleted. This happens only if the probes are on user-apps and not on kernel, simply because it doesn't clear the previous error. So, without this fix, we get an error even though events are being successfully removed. ------ # ./perf probe -x ./perf del_perf_probe_events Added new event: probe_perf:del_perf_probe_events (on del_perf_probe_events in ... You can now use it in all perf tools, such as: perf record -e probe_perf:del_perf_probe_events -aR sleep 1 # ./perf probe -d \*:\* Removed event: probe_perf:del_perf_probe_events Error: Failed to delete events. ------ This fixes the above error. ------ # ./perf probe -d \*:\* Removed event: probe_perf:del_perf_probe_events ------ Reported-by: Arnaldo Carvalho de Melo Signed-off-by: Masami Hiramatsu Tested-by: Arnaldo Carvalho de Melo Cc: David Ahern Cc: Jiri Olsa Cc: Namhyung Kim Cc: Peter Zijlstra Cc: Richard Weinberger Link: http://lkml.kernel.org/r/20150527083725.23880.45209.stgit@localhost.localdomain Signed-off-by: Arnaldo Carvalho de Melo --- tools/perf/util/probe-event.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/tools/perf/util/probe-event.c b/tools/perf/util/probe-event.c index f5be411..97da984 100644 --- a/tools/perf/util/probe-event.c +++ b/tools/perf/util/probe-event.c @@ -2811,13 +2811,14 @@ int del_perf_probe_events(struct strfilter *filter) goto error; ret2 = del_trace_probe_events(ufd, filter, unamelist); - if (ret2 < 0 && ret2 != -ENOENT) + if (ret2 < 0 && ret2 != -ENOENT) { ret = ret2; - else if (ret == -ENOENT && ret2 == -ENOENT) { + goto error; + } + if (ret == -ENOENT && ret2 == -ENOENT) pr_debug("\"%s\" does not hit any event.\n", str); /* Note that this is silently ignored */ - ret = 0; - } + ret = 0; error: if (kfd >= 0) {