From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751308AbdBBLMI (ORCPT ); Thu, 2 Feb 2017 06:12:08 -0500 Received: from mx0b-001b2d01.pphosted.com ([148.163.158.5]:32802 "EHLO mx0a-001b2d01.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751060AbdBBLMF (ORCPT ); Thu, 2 Feb 2017 06:12:05 -0500 From: Ravi Bangoria To: acme@redhat.com, alexis.berlemont@gmail.com, linux-kernel@vger.kernel.org Cc: peterz@infradead.org, mingo@redhat.com, alexander.shishkin@linux.intel.com, mpe@ellerman.id.au, naveen.n.rao@linux.vnet.ibm.com, mhiramat@kernel.org, maddy@linux.vnet.ibm.com, Ravi Bangoria Subject: [PATCH 1/5] perf/sdt: Show proper hint Date: Thu, 2 Feb 2017 16:41:39 +0530 X-Mailer: git-send-email 2.9.3 In-Reply-To: <20170202111143.14319-1-ravi.bangoria@linux.vnet.ibm.com> References: <20161214000732.1710-1-alexis.berlemont@gmail.com> <20170202111143.14319-1-ravi.bangoria@linux.vnet.ibm.com> X-TM-AS-MML: disable X-Content-Scanned: Fidelis XPS MAILER x-cbid: 17020211-0032-0000-0000-000001DDCDA2 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 17020211-0033-0000-0000-0000120DE48C Message-Id: <20170202111143.14319-2-ravi.bangoria@linux.vnet.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2017-02-02_07:,, signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 suspectscore=0 malwarescore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1612050000 definitions=main-1702020105 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org All events from 'perf list', except SDT events, can be directly recorded with 'perf record'. But, the flow is little different for SDT events. User has to probe on SDT events before recording them. Perf is showing misleading message when user tries to record SDT event without probing it. Show proper hint there. Before patch: $ perf record -a -e sdt_glib:idle__add event syntax error: 'sdt_glib:idle__add' \___ unknown tracepoint Error: File /sys/kernel/debug/tracing/events/sdt_glib/idle__add ... Hint: Perhaps this kernel misses some CONFIG_ setting to enable... ... After patch: $ perf record -e sdt_glib:main__after_check event syntax error: 'sdt_glib:idle__add' \___ unknown tracepoint Error: File /sys/kernel/debug/tracing/events/sdt_glib/idle__add ... Hint: SDT event has to be probed before recording it. Suggested-by: Ingo Molnar Signed-off-by: Ravi Bangoria --- tools/lib/api/fs/tracing_path.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/tools/lib/api/fs/tracing_path.c b/tools/lib/api/fs/tracing_path.c index 251b7c3..a0e85df 100644 --- a/tools/lib/api/fs/tracing_path.c +++ b/tools/lib/api/fs/tracing_path.c @@ -99,10 +99,18 @@ static int strerror_open(int err, char *buf, size_t size, const char *filename) * - jirka */ if (debugfs__configured() || tracefs__configured()) { - snprintf(buf, size, - "Error:\tFile %s/%s not found.\n" - "Hint:\tPerhaps this kernel misses some CONFIG_ setting to enable this feature?.\n", - tracing_events_path, filename); + /* sdt markers */ + if (!strncmp(filename, "sdt_", 4)) { + snprintf(buf, size, + "Error:\tFile %s/%s not found.\n" + "Hint:\tSDT event has to be probed before recording it.\n", + tracing_events_path, filename); + } else { + snprintf(buf, size, + "Error:\tFile %s/%s not found.\n" + "Hint:\tPerhaps this kernel misses some CONFIG_ setting to enable this feature?.\n", + tracing_events_path, filename); + } break; } snprintf(buf, size, "%s", -- 2.9.3