[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4873C363.3070306@grandegger.com>
Date: Tue, 08 Jul 2008 21:43:31 +0200
From: Wolfgang Grandegger <wg@...ndegger.com>
To: Wolfgang Grandegger <wg@...ndegger.com>,
Steven Rostedt <rostedt@...dmis.org>,
"Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>,
Luotao Fu <l.fu@...gutronix.de>,
LKML <linux-kernel@...r.kernel.org>,
RT <linux-rt-users@...r.kernel.org>, Ingo Molnar <mingo@...e.hu>,
Thomas Gleixner <tglx@...utronix.de>
Subject: Re: 2.6.24-rc8-rt1: Strange latencies on mpc5200 powerpc - RCU issue?
Hi Fun,
Luotao Fu wrote:
> Hi,
>
> I found some time and played with my mpc5200B Board again on this issue
> (2.6.25.8-rt7, same test environment)
>
> On Sun, Jul 06, 2008 at 11:41:28AM +0200, Wolfgang Grandegger wrote:
> ....
>> Yep, in 2.6.25.8-rt7 trace_mark() is not used any more, maybe for that
>> reason. Nevertheless, this "bug" kept the latency on my MPC5200 box low.
>> I will try with the old tracer to understand what the real cause of the
>> high latencies is (with CONFIG_RCU_TRACE disabled).
>>
> As you said, in 2.6.25.8-rt7 there're rcu_trace_boost_unboost_called() and
> rcu_trace_boost_unboosted() are used instead of trace_mark. I still haven't had
> time to take a closer look waht these routines exactly do. Seemed however to me,
> that they possibly do the same thing. I played a little bit around with
> the RCU_TRACE and RCU_BOOST Option. Also I tried to comment out the
> rcu_trace_boost_unboost_called() and rcu_trace_boost_unboosted() calls. My Tests
> last appr. 30 Minutes with non-rt Payload "while [ 1 ]; do ls /;done". None of
> my test showed extraordinary results. My worstcase values stay at about 220 us
> with all my test combinations. I will attache a config with RCU_BOOST and
> RCU_TRACE turned off to this mail, which provide a worst case value at 223 us
> after about 40 Minutes test run on my board.
I think I understood why CONFIG_RCU_TRACEin 2.6.24-rt helped to keep
latencies low. See:
ttp://marc.info/?l=linux-rt-users&m=121499677026236&w=4
But as Steven pointed out, the preempt_enable_noresched at that place
might be illegal, anyway. In 2.6.25-rt, trace_mark() is no longer used
and I do not see an improvement with CONFIG_RCU_TRAC any more. Latencies
go up to 600us. I also tried with CONFIG_RCU_BOOST disabled, but it did
not improve the latencies. Actually, I still measure significantly
different latencies with 2.6.24.4-rt4, 2.6.24.7-rt14 and 2.6.25.8-rt7,
which is quite frustrating. As you seem not be able to reproduce my high
latencies, I wonder if there are some toolchain or glibc related issues.
Using ftrace to localized the latency spot would be the next step. But
it's not yet available for PowerPC. Looking into that now.
> Are you using the FEC all a pci network card?
I use only the FEC. There is no PCI device.
Wolfgang.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists