From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751587AbdFFRGp (ORCPT ); Tue, 6 Jun 2017 13:06:45 -0400 Received: from resqmta-po-01v.sys.comcast.net ([96.114.154.160]:57056 "EHLO resqmta-po-01v.sys.comcast.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751474AbdFFRGn (ORCPT ); Tue, 6 Jun 2017 13:06:43 -0400 Reply-To: shuah@kernel.org Subject: Re: [PATCH 2/4] ftrace/instances: Clear function triggers when removing instances To: Steven Rostedt , "Naveen N. Rao" Cc: Michael Ellerman , linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, Shuah Khan References: <437c3409d58c2ab065233df57d82425a90c5e9e1.1494702964.git.naveen.n.rao@linux.vnet.ibm.com> <20170515222000.5ea978e6@grimm.local.home> <20170516140109.GC19390@naverao1-tp.localdomain> <20170516174423.GF19390@naverao1-tp.localdomain> <20170516143358.49b64ed5@gandalf.local.home> From: Shuah Khan Message-ID: Date: Tue, 6 Jun 2017 11:06:41 -0600 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.1.1 MIME-Version: 1.0 In-Reply-To: <20170516143358.49b64ed5@gandalf.local.home> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit X-CMAE-Envelope: MS4wfOrVrH/1c7zxrBvHZNrOguH53wLfwtHJi55XHMsaudIhGkYsyEhRqsSF4pcwfdqy/0INevuvN5ooItoUW4Tchc/AkN7rAHPYkZjyOdn/HM8HTX0lDTPZ Di4NQHx2lg94+KNX5veVpG0iVER9S9fQJh9TqHbByFRLF0vDu8PT5M5AWPDMmLzlTJcnbdA+x/8g2Kj9CYnAomYhJiTChLKzSYilCMEtLWZVwhy7TylriL2t qGvrhb5gcGNglXc/Mit9QCBWArGSCd5QLwYDeuDlVYSoYoD9tjEWy+JZniaFg++MWGjwPHmKkJlNiyg/Zii6xu8rpLvL1YAEjopyIhKovB/LCkCTFNv8TXQu ctEcq5O2 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 05/16/2017 12:33 PM, Steven Rostedt wrote: > On Tue, 16 May 2017 23:14:23 +0530 > "Naveen N. Rao" wrote: > >> On 2017/05/16 07:31PM, Naveen N. Rao wrote: >>> On 2017/05/15 10:20PM, Steven Rostedt wrote: >>>> On Sun, 14 May 2017 01:01:02 +0530 >>>> "Naveen N. Rao" wrote: >>>> >>> >>> [snip] >>> >>>>> diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c >>>>> index c4536c449021..3f2aed4ad1ed 100644 >>>>> --- a/kernel/trace/trace.c >>>>> +++ b/kernel/trace/trace.c >>>>> @@ -7550,6 +7550,7 @@ static int instance_rmdir(const char *name) >>>>> } >>>>> >>>>> tracing_set_nop(tr); >>>>> + clear_ftrace_function_probes(tr); >>>>> event_trace_del_tracer(tr); >>>>> ftrace_clear_pids(tr); >>>>> ftrace_destroy_function_files(tr); >>>>> diff --git a/kernel/trace/trace.h b/kernel/trace/trace.h >>>>> index 291a1bca5748..98e0845f7235 100644 >>>>> --- a/kernel/trace/trace.h >>>>> +++ b/kernel/trace/trace.h >>>>> @@ -980,6 +980,7 @@ register_ftrace_function_probe(char *glob, struct trace_array *tr, >>>>> extern int >>>>> unregister_ftrace_function_probe_func(char *glob, struct trace_array *tr, >>>>> struct ftrace_probe_ops *ops); >>>>> +extern void clear_ftrace_function_probes(struct trace_array *tr); >>>> >>>> This needs to have a stub function when CONFIG_DYNAMIC_FTRACE is not >>>> defined. Otherwise we have: >>>> >>>> kernel/trace/trace.c:7553:2: error: implicit declaration of function 'clear_ftrace_function_probes' [-Werror=implicit-function-declaration] >>>> clear_ftrace_function_probes(tr); >>>> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> >> The prototype in trace.h is actually guarded by: >> #if defined(CONFIG_FUNCTION_TRACER) && defined(CONFIG_DYNAMIC_FTRACE) >> >> So, I will guard the call to clear_ftrace_function_probes() in trace.c >> with the same. >> > > No, the proper thing to do is to make a stub function in the else part > of the #if that the prototype was declared in. > > static inline void clear_ftrace_function_probes(struct trace_array *tr) > { > } > > Please, lets limit the #ifdef ugliness from the code. > > -- Steve > > Hi Steve, Are you good with this patch series. I am looking to see which of these should go into 4.13-rc1 - please ack individual patches that should be pulled into 4.13-rc1 thanks, -- Shuah