From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S966219AbcIWNcc (ORCPT ); Fri, 23 Sep 2016 09:32:32 -0400 Received: from mail.kernel.org ([198.145.29.136]:50886 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751710AbcIWNca (ORCPT ); Fri, 23 Sep 2016 09:32:30 -0400 Date: Fri, 23 Sep 2016 22:32:25 +0900 From: Masami Hiramatsu To: Peter Zijlstra Cc: Thomas Gleixner , Jiri Olsa , Arnaldo Carvalho de Melo , linux-kernel@vger.kernel.org, Ingo Molnar , Namhyung Kim , David Ahern Subject: Re: failed to add c++ probe Message-Id: <20160923223225.da9b269cabb42e459767d237@kernel.org> In-Reply-To: <20160922085406.GY5008@twins.programming.kicks-ass.net> References: <20160919095402.GA2306@krava> <20160920080557.5db69ddd16524ca6abcb3d83@kernel.org> <20160921123759.5c3f1f5db5f298a20ea784b0@kernel.org> <20160921134324.996aae22bead9dbf34a7a41d@kernel.org> <20160922085406.GY5008@twins.programming.kicks-ass.net> X-Mailer: Sylpheed 3.5.0 (GTK+ 2.24.31; x86_64-redhat-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, 22 Sep 2016 10:54:06 +0200 Peter Zijlstra wrote: > On Wed, Sep 21, 2016 at 01:43:24PM +0900, Masami Hiramatsu wrote: > > On Wed, 21 Sep 2016 12:37:59 +0900 > > Masami Hiramatsu wrote: > > > Hmm, I found there are 3 issues in perf-probe to define event on C++ libs. > > > > 1) No mangle/demangle symbol support. This needs a) fix option parser to > > accept C++ method name correctly, b) mangle that method, and c) demangle > > it when we show the probe point. > > I think we should also allow using the mangled name, supporting (de)mangling > is of course nice, but not required per-se. Esp. since there's more than > just C++ mangling. Having the mangling stuff as optional makes it a > convenience but still allows using this on other languages for which we > do not support the mangling. Agreed. I also learned that mangling depends on the compiler and no good way to get demangled name to mangled name. Moreover, the demangled name will include arguments, templates etc. because of supporting polymorphism. At this phase, I would like to support only "method name" or "mangled name". > > 2) @plt symbol should be skipped since the real function will be called(jumped) > > from plt, when searching probe point. > > > > 3) Event group name is including some characters which can not be used (e.g. "++"). > > Thus we have to remove it or replace it with '_' or other alphabet.("PP"?) > > What is the problem with the '+' character? Why cannot this be used? In the ftrace, it is not considered to use such characters for event/group name, because the name is used for generating symbols for tracepoints. IOW, other tracepoint events have the name same as C naming conventions. (Maybe that is also good for out-of-tree tools and scripts to parse it.) Thank you, -- Masami Hiramatsu