Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752727AbdHIJNy (ORCPT ); Wed, 9 Aug 2017 05:13:54 -0400 Received: from mail-pg0-f53.google.com ([74.125.83.53]:36493 "EHLO mail-pg0-f53.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752360AbdHIJNx (ORCPT ); Wed, 9 Aug 2017 05:13:53 -0400 Subject: Re: RCU stall when using function_graph To: paulmck@linux.vnet.ibm.com, =?UTF-8?B?6rmA64+Z7ZiE?= Cc: Daniel Lezcano , john.stultz@linaro.org, Steven Rostedt , linux-kernel@vger.kernel.org References: <20170801201214.1e9c7d8e@gandalf.local.home> <20170802124239.GD1919@mai> <20170802090744.6922e9e9@gandalf.local.home> <11d179df-d8a9-5d3e-3bc4-080df464e85d@linaro.org> <20170803124421.GP3730@linux.vnet.ibm.com> <20170803143801.GE1919@mai> <20170806170220.GQ3730@linux.vnet.ibm.com> From: Pratyush Anand Message-ID: Date: Wed, 9 Aug 2017 14:43:49 +0530 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: <20170806170220.GQ3730@linux.vnet.ibm.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1413 Lines: 46 On Sunday 06 August 2017 10:32 PM, Paul E. McKenney wrote: > On Sat, Aug 05, 2017 at 02:24:21PM +0900, κΉ€λ™ν˜„ wrote: >> Dear All >> >> As for me, after configuring function_graph as below, crash disappears. >> "echo 0 > d/tracing/tracing_on" >> "sleep 1" >> >> "echo function_graph > d/tracing/current_tracer" >> "sleep 1" >> >> "echo smp_call_function_single > d/tracing/set_ftrace_filter" It will limit trace output to only for the filtered function (smp_call_function_single). >> adb shell "sleep 1" >> >> "echo 1 > d/tracing/tracing_on" >> adb shell "sleep 1" >> >> Right after function_graph is enabled, too many logs are traced upon IRQ >> transaction which many times eventually causes stall. > > That would do it! > > Hmmm... > > Steven, would it be helpful if RCU were to inform tracing (say) halfway > through the RCU CPU stall interval, allowing the tracer to do something > like cond_resched_rcu_qs()? I can imagine all sorts of reasons why this > wouldn't work, for example, if all the tracing was with irqs disabled > or some such, but figured I should ask. > > Does Guillermo's approach work for others? Limited output with a couple of filtered function will definitely not cause RCU schedule stall. But the question is whether we should expect a full function graph trace working on every platform or not (specially the one which generates high interrupts)? -- Regards Pratyush