From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wolfgang Grandegger Subject: Re: 2.6.24-rc8-rt1: Strange latencies on mpc5200 powerpc - RCU issue? Date: Thu, 10 Jul 2008 09:50:47 +0200 Message-ID: <4875BF57.8030405@grandegger.com> References: <486A3EBB.6030905@grandegger.com> <486A573E.60107@grandegger.com> <486B607F.9040903@grandegger.com> <48709348.6000101@grandegger.com> <20080708150826.GA30586@pengutronix.de> <4873C363.3070306@grandegger.com> <4874B4C0.5090500@pengutronix.de> <4874B9D5.1020309@grandegger.com> <20080709145217.GB30586@pengutronix.de> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit To: Wolfgang Grandegger , Luotao Fu , Steven Rostedt , "Paul E. McKenney" , LKML Received: from mail-out.m-online.net ([212.18.0.9]:52767 "EHLO mail-out.m-online.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751017AbYGJHt6 (ORCPT ); Thu, 10 Jul 2008 03:49:58 -0400 In-Reply-To: <20080709145217.GB30586@pengutronix.de> Sender: linux-rt-users-owner@vger.kernel.org List-ID: Luotao Fu wrote: > Hi Wolfgang, > On Wed, Jul 09, 2008 at 03:15:01PM +0200, Wolfgang Grandegger wrote: >> Hi Fu (without n) >> > .... >> OK, in the past you have been able to reproduce the high latencies with >> 2.6.24-rt1 and CONFIG_RCU_TRACE disabled, IIRC. Did you use a different >> toolchain at that time? >> > > Nope. As mentioned above, trace_mark() does some "real" works (what ever it is.), > while the new mechahnismen use flags to remember the state of preemption. Maybe I don't known what you refer to, but in __rcu_preempt_unboost() of 2.6.25.8-rt7, the trace code simply increments a counter: static void rcu_trace_boost_##type(struct rcu_boost_dat *rbd) \ { \ rbd->rbs_stat_##type++; \ } and that's the reason why latency is not affected by switching CONFIG_RCU_TRACE on (while trace_mark uses preempt_disable/preempt_enable around). > something here got optimized away? I take for grant, that you use gcc in your > toolchain. Which version do you have? The ELDK v4.2 uses: ppc_6xx-gcc (GCC) 4.2.2 and GLIBC v2.6 But I measured the same latencies with ELDK v4.1: ppc_6xx-gcc (GCC) 4.0.0 (DENX ELDK 4.1 4.0.0) GLIBC v2.3.5 Wolfgang.