Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754082AbbEKNvd (ORCPT ); Mon, 11 May 2015 09:51:33 -0400 Received: from mail.kernel.org ([198.145.29.136]:38359 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753750AbbEKNo0 (ORCPT ); Mon, 11 May 2015 09:44:26 -0400 Date: Mon, 11 May 2015 10:44:20 -0300 From: Arnaldo Carvalho de Melo To: Masami Hiramatsu Cc: He Kuang , Ingo Molnar , a.p.zijlstra@chello.nl, jolsa@kernel.org, mingo@redhat.com, wangnan0@huawei.com, linux-kernel@vger.kernel.org Subject: Re: Re: [PATCH v3 3/3] perf probe: Show better error message when failed to find variable Message-ID: <20150511134420.GC28183@kernel.org> References: <1431336304-16863-1-git-send-email-hekuang@huawei.com> <1431336304-16863-3-git-send-email-hekuang@huawei.com> <20150511093010.GA31869@gmail.com> <555079CF.40701@huawei.com> <20150511095052.GA7441@gmail.com> <55508149.8040404@huawei.com> <55509A67.1040704@hitachi.com> <20150511133527.GB28183@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20150511133527.GB28183@kernel.org> X-Url: http://acmel.wordpress.com User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2299 Lines: 49 Em Mon, May 11, 2015 at 10:35:27AM -0300, Arnaldo Carvalho de Melo escreveu: > Em Mon, May 11, 2015 at 09:02:47PM +0900, Masami Hiramatsu escreveu: > > On 2015/05/11 19:15, He Kuang wrote: > > > On 2015/5/11 17:50, Ingo Molnar wrote: > > >> * He Kuang wrote: > > >>> On 2015/5/11 17:30, Ingo Molnar wrote: > > >>>>> After this patch: > > >>>>> $ perf probe --add 'generic_perform_write+118 bytes' > > >>>>> Failed to find the location of bytes at this address. > > >>>> What does this sentence mean? I thought 'address' means 'location of > > >>>> bytes'. So the address identifies the location and obviously we know > > >>>> that. So this message wants to say something else. > > >>> 'generic_perform_write' is a function name, while 'bytes' is a local > > >>> variable in this function. Maybe the variable I chose make you confused. > > > >>> This maybe clear: > > >>> Failed to find the location of 'bytes' at this address. > > >> Yeah, absolutely! This highlights the importance of putting > > >> user-supplied symbols into quotes and such. > > > >> Maybe even write: > > > >> Failed to find the location of the 'bytes' variable at this address. > > > OK, He, could you also include this fix? > > I agree with the change, makes things clearer, will do the change > myself. If He has any objection to that, I can fix things up before > pushing it to Ingo, So, this is the end result: - if (ret == -ENOENT || ret == -EINVAL) - pr_err("Failed to find the location of %s at this address.\n" - " Perhaps, it has been optimized out.\n", pf->pvar->var); - else if (ret == -ENOTSUP) + if (ret == -ENOENT || ret == -EINVAL) { + pr_err("Failed to find the location of the '%s' variable at this address.\n" + " Perhaps it has been optimized out.\n" + " Use -V with the --range option to show '%s' location range.\n", + pf->pvar->var, pf->pvar->var); + } else if (ret == -ENOTSUP) -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/