From: Luotao Fu <l.fu@pengutronix.de>
To: Steven Rostedt <rostedt@goodmis.org>,
Wolfgang Grandegger <wg@grandegger.com>
Cc: LKML <linux-kernel@vger.kernel.org>,
RT <linux-rt-users@vger.kernel.org>, Ingo Molnar <mingo@elte.hu>,
Thomas Gleixner <tglx@linutronix.de>
Subject: Re: 2.6.24-rc8-rt1: Strange latencies on mpc5200 powerpc
Date: Wed, 23 Jan 2008 15:53:40 +0100 [thread overview]
Message-ID: <20080123145340.GE6200@pengutronix.de> (raw)
In-Reply-To: <478F2A46.5070506@grandegger.com>
[-- Attachment #1.1: Type: text/plain, Size: 2587 bytes --]
Hi folks,
On Thu, Jan 17, 2008 at 11:13:26AM +0100, Wolfgang Grandegger wrote:
> It builds and runs fine on my Icecube-MPC5200 board, now also with the
> latency tracer enabled. That's great. Still, "cyclictest -n -p80 -i1000"
> reports latencies up to 400 us and therefore I tried to trigger and save
> a high latency trace using:
>
> # ./cyclictest -n -p80 -i1000 -b400
> 1.21 0.33 0.11 4/42 1048
>
> T: 0 ( 914) P:80 I:1000 C: 38726 Min: 61 Act: 107 Avg: 106
> Max: 377
> [ 91.042169] ( cyclictest-914 |#0): new 39733427 us user-latency.
> bash-3.00# cat /proc/latency_trace > trace.log
>
I was doing some tests on my mpc5200b Board to reproduce the high latency as
measured by wolfgang.
I ran some tests with
while [ 1 ]; do ls /bin;done
as non-rt workload, as in Wolfgangs Scenario.
Now I also got some strange values. My latency lies at round about 100 and the
max. latency keep pending normally at about 150us-200us. However the max. value
will occasionally break out to very high values. I got a max. about 850us after
some rounds of measurement, which is definitively too high for the processor. I
made some traces and attached the last "interesting" path to this mail.
trace_600_1.log and trace_600_2.log are both taken with -b600. For comparation I
also added a "normal" trace taken with -b150. In the traces with abnormal long
latency there're a big "hole" between the last call, which is
clockevents_program_event() in both long traces and the actual schedule()
call. The holes are both about 600 us long, which is the main part of the
latency actually.
Two important things I also noted during my tests:
1. I got the unusual latencies on a system booted with nfsrootfs. I ran the same
test scenario on system booted from flash and got no extraordinory results.
After serveral hours test my max. latency lies at round about 200us.
2. Even on a nfsrootfs system I could not get the high latencies if I run
hackbench as non-rt workload.
Hence I suppose the unusual results are caused by network/Filesystemaccess.
However I have no idea what could be the reason for the "hole"s in the trace.
Looks almost like the cpu is doing nothing. As I don't have a trace on other
architecture at hand at the moment. I can't say for 100 procent if the tracer is
"missing" anything.
Any comments, ideas?
cheers
Luotao Fu
--
Dipl.-Ing. Luotao Fu | Phone: +49-5121-206917-3
Pengutronix - Linux Solutions for Science and Industry
Entwicklungszentrum Nord http://www.pengutronix.de
[-- Attachment #1.2: trace_600_1.log --]
[-- Type: text/plain, Size: 4621 bytes --]
cyclicte-16669 0D..2 2203085us+: __schedule+0x1f4/0x40c <IRQ-131-151> (150 180)
cyclicte-16669 0D..1 2203115us+: enqueue_hrtimer+0x48/0x194 ( 394 1ca956ec c3a11e98)
cyclicte-16669 0D..2 2203129us+: deactivate_task+0x58/0x9c <cyclicte-16669> (180 5)
IRQ-131-151 0D..2 2203135us+: __schedule+0x1f4/0x40c <cyclicte-16669> (180 150)
IRQ-131-151 0D..3 2203160us+: task_setprio+0xc0/0x258 <cyclicte-16668> (0 150)
IRQ-131-151 0D..3 2203164us+: task_setprio+0x13c/0x258 ( 0 0 0)
IRQ-131-151 0D.h1 2203173us+: hrtimer_interrupt+0xa8/0x2d0 ( 394 1c9cb6c7 0)
IRQ-131-151 0D.h2 2203176us+: hrtimer_interrupt+0x128/0x2d0 ( 394 1c9c3800 c02d6788)
IRQ-131-151 0D.h2 2203199us+: activate_task+0x58/0x9c <softirq--5> (150 4)
IRQ-131-151 0D.h2 2203217us+: activate_task+0x58/0x9c <softirq--12> (150 5)
IRQ-131-151 0D.h2 2203224us+: enqueue_hrtimer+0x48/0x194 ( 394 1d34ce80 c02d6788)
IRQ-131-151 0D.h1 2203231us+: clockevents_program_event+0x7c/0x1d0 ( 394 1ca956ec bc1d7)
IRQ-131-151 0D..2 2203250us+: deactivate_task+0x58/0x9c <IRQ-131-151> (150 6)
cyclicte-16668 0D..2 2203259us+: __schedule+0x1f4/0x40c <IRQ-131-151> (150 150)
cyclicte-16668 0D..2 2203272us+: activate_task+0x58/0x9c <IRQ-131-151> (150 5)
cyclicte-16668 0D..2 2203282us+: task_setprio+0x184/0x258 <cyclicte-16668> (150 0)
cyclicte-16668 0DN.2 2203291us+: task_setprio+0x13c/0x258 ( 0 1 0)
softirq--5 0D..2 2203306us+: __schedule+0x1f4/0x40c <cyclicte-16668> (0 150)
softirq--5 0D..2 2203340us+: deactivate_task+0x58/0x9c <softirq--5> (150 6)
softirq--12 0D..2 2203346us+: __schedule+0x1f4/0x40c <softirq--5> (150 150)
softirq--12 0D..2 2203361us+: deactivate_task+0x58/0x9c <softirq--12> (150 5)
IRQ-131-151 0D..2 2203367us+: __schedule+0x1f4/0x40c <softirq--12> (150 150)
IRQ-131-151 0D..1 2203401us+: activate_task+0x58/0x9c <softirq--9> (150 4)
IRQ-131-151 0D..2 2203428us+: deactivate_task+0x58/0x9c <IRQ-131-151> (150 5)
softirq--9 0D..2 2203435us+: __schedule+0x1f4/0x40c <IRQ-131-151> (150 150)
softirq--9 0D..2 2203454us+: deactivate_task+0x58/0x9c <softirq--9> (150 4)
cyclicte-16668 0D..2 2203465us+: __schedule+0x1f4/0x40c <softirq--9> (150 0)
cyclicte-16668 0D.h2 2203491us+: activate_task+0x58/0x9c <IRQ-131-151> (150 3)
cyclicte-16668 0D.h2 2203494us+: __trace_start_sched_wakeup+0x14c/0x184 <IRQ-131-151> (49 -1)
cyclicte-16668 0DNh2 2203500us+: __trace_start_sched_wakeup+0x14c/0x184 <IRQ-131-151> (49 -1)
cyclicte-16668 0DNh2 2203501us+: try_to_wake_up+0x184/0x1a4 <IRQ-131-151> (150 0)
IRQ-131-151 0D..2 2203519us+: __schedule+0x1f4/0x40c <cyclicte-16668> (0 150)
IRQ-131-151 0D..3 2203539us+: task_setprio+0xc0/0x258 <cyclicte-16668> (0 150)
IRQ-131-151 0D..3 2203544us+: task_setprio+0x13c/0x258 ( 0 0 0)
IRQ-131-151 0D..2 2203554us+: deactivate_task+0x58/0x9c <IRQ-131-151> (150 4)
cyclicte-16668 0D..2 2203559us+: __schedule+0x1f4/0x40c <IRQ-131-151> (150 150)
cyclicte-16668 0D..2 2203570us+: activate_task+0x58/0x9c <IRQ-131-151> (150 3)
cyclicte-16668 0D..2 2203577us+: task_setprio+0x184/0x258 <cyclicte-16668> (150 0)
cyclicte-16668 0DN.2 2203583us+: task_setprio+0x13c/0x258 ( 0 1 0)
IRQ-131-151 0D..2 2203594us+: __schedule+0x1f4/0x40c <cyclicte-16668> (0 150)
IRQ-131-151 0D..1 2203605us+: activate_task+0x58/0x9c <softirq--9> (150 4)
IRQ-131-151 0D..2 2203631us+: deactivate_task+0x58/0x9c <IRQ-131-151> (150 5)
softirq--9 0D..2 2203636us+: __schedule+0x1f4/0x40c <IRQ-131-151> (150 150)
softirq--9 0D..2 2203654us+: deactivate_task+0x58/0x9c <softirq--9> (150 4)
cyclicte-16668 0D..2 2203663us+: __schedule+0x1f4/0x40c <softirq--9> (150 0)
cyclicte-16668 0D..1 2203711us+: enqueue_hrtimer+0x48/0x194 ( 394 1d3d76bb c3a15ea8)
cyclicte-16668 0D..2 2203726us+: deactivate_task+0x58/0x9c <cyclicte-16668> (0 3)
sh-19600 0D..2 2203742us!: __schedule+0x1f4/0x40c <cyclicte-16668> (0 0)
sh-19600 0D.h1 2204020us+: hrtimer_interrupt+0xa8/0x2d0 ( 394 1ca99383 0)
sh-19600 0D.h2 2204025us+: hrtimer_interrupt+0x128/0x2d0 ( 394 1ca956ec c3a11e98)
sh-19600 0D.h3 2204039us+: activate_task+0x58/0x9c <cyclicte-16669> (180 2)
sh-19600 0D.h3 2204044us+: __trace_start_sched_wakeup+0x14c/0x184 <cyclicte-16669> (19 -1)
sh-19600 0DNh3 2204050us+: __trace_start_sched_wakeup+0x14c/0x184 <cyclicte-16669> (19 -1)
sh-19600 0DNh3 2204051us+: try_to_wake_up+0x184/0x1a4 <cyclicte-16669> (180 0)
sh-19600 0DNh1 2204058us!: clockevents_program_event+0x7c/0x1d0 ( 394 1d34ce80 8a9639)
cyclicte-16669 0D..2 2204680us : __schedule+0x1f4/0x40c <sh-19600> (0 180)
[-- Attachment #1.3: trace_600_2.log --]
[-- Type: text/plain, Size: 2789 bytes --]
cyclicte-1193 0D..2 2211546us+: __schedule+0x1f4/0x40c <softirq--6> (150 180)
cyclicte-1193 0D..1 2211575us+: enqueue_hrtimer+0x48/0x194 ( 1846 4569198 c3a33e98)
cyclicte-1193 0D..1 2211583us+: clockevents_program_event+0x7c/0x1d0 ( 1846 4569198 dbc5e)
cyclicte-1193 0D..2 2211597us+: deactivate_task+0x58/0x9c <cyclicte-1193> (180 4)
softirq--6 0D..2 2211603us+: __schedule+0x1f4/0x40c <cyclicte-1193> (180 150)
softirq--6 0D..2 2211625us+: deactivate_task+0x58/0x9c <softirq--6> (150 3)
sh-1902 0D..2 2211637us+: __schedule+0x1f4/0x40c <softirq--6> (150 0)
sh-1902 0D..2 2211689us+: deactivate_task+0x58/0x9c <sh-1902> (0 2)
sh-449 0D..2 2211704us+: __schedule+0x1f4/0x40c <sh-1902> (0 0)
sh-449 0D.h2 2211762us+: activate_task+0x58/0x9c <IRQ-192-149> (150 1)
sh-449 0D.h2 2211767us+: __trace_start_sched_wakeup+0x14c/0x184 <IRQ-192-149> (49 -1)
sh-449 0DNh2 2211772us+: __trace_start_sched_wakeup+0x14c/0x184 <IRQ-192-149> (49 -1)
sh-449 0DNh2 2211773us+: try_to_wake_up+0x184/0x1a4 <IRQ-192-149> (150 0)
IRQ-192-149 0D..2 2211792us+: __schedule+0x1f4/0x40c <sh-449> (0 150)
IRQ-192-149 0D..1 2211821us+: activate_task+0x58/0x9c <softirq--7> (150 2)
IRQ-192-149 0D..2 2211839us+: deactivate_task+0x58/0x9c <IRQ-192-149> (150 3)
softirq--7 0D..2 2211846us!: __schedule+0x1f4/0x40c <IRQ-192-149> (150 150)
softirq--7 0D..1 2211957us+: activate_task+0x58/0x9c <sh-1902> (0 2)
softirq--7 0D.h2 2212039us+: activate_task+0x58/0x9c <IRQ-193-150> (150 3)
softirq--7 0D..2 2212072us+: deactivate_task+0x58/0x9c <softirq--7> (150 4)
IRQ-193-150 0D..2 2212083us+: __schedule+0x1f4/0x40c <softirq--7> (150 150)
IRQ-193-150 0D..1 2212098us+: activate_task+0x58/0x9c <softirq--6> (150 3)
IRQ-193-150 0D..2 2212111us+: deactivate_task+0x58/0x9c <IRQ-193-150> (150 4)
softirq--6 0D..2 2212118us+: __schedule+0x1f4/0x40c <IRQ-193-150> (150 150)
softirq--6 0D..2 2212139us+: deactivate_task+0x58/0x9c <softirq--6> (150 3)
sh-1902 0D..2 2212152us!: __schedule+0x1f4/0x40c <softirq--6> (150 0)
sh-1902 0D.h1 2212501us+: hrtimer_interrupt+0xa8/0x2d0 ( 1846 456cfc8 0)
sh-1902 0D.h2 2212507us+: hrtimer_interrupt+0x128/0x2d0 ( 1846 4569198 c3a33e98)
sh-1902 0D.h3 2212521us+: activate_task+0x58/0x9c <cyclicte-1193> (180 2)
sh-1902 0D.h3 2212526us+: __trace_start_sched_wakeup+0x14c/0x184 <cyclicte-1193> (19 -1)
sh-1902 0DNh3 2212533us+: __trace_start_sched_wakeup+0x14c/0x184 <cyclicte-1193> (19 -1)
sh-1902 0DNh3 2212534us+: try_to_wake_up+0x184/0x1a4 <cyclicte-1193> (180 0)
sh-1902 0DNh1 2212541us!: clockevents_program_event+0x7c/0x1d0 ( 1846 4820f3a 2a9658)
cyclicte-1193 0D..2 2213164us : __schedule+0x1f4/0x40c <sh-1902> (0 180)
[-- Attachment #1.4: trace_150.log --]
[-- Type: text/plain, Size: 2708 bytes --]
cyclicte-12651 0D..2 2241836us+: __schedule+0x1f4/0x40c <sh-12822> (0 180)
cyclicte-12651 0D..1 2241863us+: enqueue_hrtimer+0x48/0x194 ( 2038 2ae2bf80 c3b57e98)
cyclicte-12651 0D..1 2241871us+: clockevents_program_event+0x7c/0x1d0 ( 2038 2ae2bf80 d8949)
cyclicte-12651 0D..2 2241886us+: deactivate_task+0x58/0x9c <cyclicte-12651> (180 2)
sh-12822 0D..2 2241898us!: __schedule+0x1f4/0x40c <cyclicte-12651> (180 0)
sh-12822 0D..1 2242158us+: activate_task+0x58/0x9c <telnetd-423> (0 1)
sh-12822 0DN.1 2242172us+: try_to_wake_up+0x184/0x1a4 <telnetd-423> (0 0)
telnetd-423 0D..2 2242198us+: __schedule+0x1f4/0x40c <sh-12822> (0 0)
telnetd-423 0D..2 2242253us+: deactivate_task+0x58/0x9c <telnetd-423> (0 2)
sh-12822 0D..2 2242264us+: __schedule+0x1f4/0x40c <telnetd-423> (0 0)
sh-12822 0D..2 2242274us+: activate_task+0x58/0x9c <telnetd-423> (0 1)
sh-12822 0DN.2 2242281us+: try_to_wake_up+0x184/0x1a4 <telnetd-423> (0 0)
telnetd-423 0D..2 2242293us+: __schedule+0x1f4/0x40c <sh-12822> (0 0)
telnetd-423 0D..2 2242339us+: deactivate_task+0x58/0x9c <telnetd-423> (0 2)
sh-12822 0D..2 2242351us!: __schedule+0x1f4/0x40c <telnetd-423> (0 0)
sh-12822 0D..3 2242490us+: activate_task+0x58/0x9c <telnetd-423> (0 1)
sh-12822 0DN.3 2242499us+: try_to_wake_up+0x184/0x1a4 <telnetd-423> (0 0)
telnetd-423 0D..2 2242516us!: __schedule+0x1f4/0x40c <sh-12822> (0 0)
telnetd-423 0D..2 2242774us+: deactivate_task+0x58/0x9c <telnetd-423> (0 2)
sh-12822 0D..2 2242796us+: __schedule+0x1f4/0x40c <telnetd-423> (0 0)
sh-12822 0D.h2 2242819us+: activate_task+0x58/0x9c <IRQ-193-150> (150 1)
sh-12822 0D.h2 2242824us+: __trace_start_sched_wakeup+0x14c/0x184 <IRQ-193-150> (49 -1)
sh-12822 0DNh2 2242828us+: __trace_start_sched_wakeup+0x14c/0x184 <IRQ-193-150> (49 -1)
sh-12822 0DNh2 2242830us+: try_to_wake_up+0x184/0x1a4 <IRQ-193-150> (150 0)
IRQ-193-150 0D..2 2242846us+: __schedule+0x1f4/0x40c <sh-12822> (0 150)
IRQ-193-150 0D.h. 2242860us+: hrtimer_interrupt+0xa8/0x2d0 ( 2038 2ae44ab9 0)
IRQ-193-150 0D.h1 2242863us+: hrtimer_interrupt+0x128/0x2d0 ( 2038 2ae2bf80 c3b57e98)
IRQ-193-150 0D.h2 2242871us+: activate_task+0x58/0x9c <cyclicte-12651> (180 2)
IRQ-193-150 0D.h2 2242875us+: __trace_start_sched_wakeup+0x14c/0x184 <cyclicte-12651> (19 -1)
IRQ-193-150 0DNh2 2242877us : __trace_start_sched_wakeup+0x14c/0x184 <cyclicte-12651> (19 -1)
IRQ-193-150 0DNh2 2242878us+: try_to_wake_up+0x184/0x1a4 <cyclicte-12651> (180 150)
IRQ-193-150 0DNh. 2242885us+: clockevents_program_event+0x7c/0x1d0 ( 2038 2aea5400 5a227)
cyclicte-12651 0D..2 2242900us : __schedule+0x1f4/0x40c <IRQ-193-150> (150 180)
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
next prev parent reply other threads:[~2008-01-23 14:53 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-01-17 4:27 2.6.24-rc8-rt1 Steven Rostedt
2008-01-17 5:26 ` 2.6.24-rc8-rt1 Mark Knecht
2008-01-17 10:13 ` 2.6.24-rc8-rt1 Wolfgang Grandegger
2008-01-17 12:46 ` 2.6.24-rc8-rt1 Luotao Fu
2008-01-17 16:17 ` 2.6.24-rc8-rt1 Daniel Walker
2008-01-17 18:17 ` 2.6.24-rc8-rt1 Wolfgang Grandegger
2008-01-17 18:30 ` 2.6.24-rc8-rt1 Daniel Walker
2008-01-17 18:44 ` 2.6.24-rc8-rt1 Steven Rostedt
2008-01-17 18:45 ` 2.6.24-rc8-rt1 Steven Rostedt
2008-01-17 20:01 ` 2.6.24-rc8-rt1 Wolfgang Grandegger
2008-01-17 18:46 ` 2.6.24-rc8-rt1 Wolfgang Grandegger
2008-01-17 21:11 ` 2.6.24-rc8-rt1 Robert Schwebel
2008-01-17 21:36 ` 2.6.24-rc8-rt1 Wolfgang Grandegger
2008-01-23 14:53 ` Luotao Fu [this message]
2008-01-23 15:50 ` 2.6.24-rc8-rt1: Strange latencies on mpc5200 powerpc Daniel Walker
2008-01-23 16:36 ` Wolfgang Grandegger
2008-01-24 10:53 ` Wolfgang Grandegger
[not found] ` <20080124112847.GE4776@unix.sh>
[not found] ` <47987D73.8090904@grandegger.com>
2008-01-24 13:49 ` Luis Claudio R. Goncalves
2008-01-28 15:11 ` Luotao Fu
2008-01-28 15:38 ` Wolfgang Grandegger
2008-01-29 12:13 ` 2.6.24-rc8-rt1: Strange latencies on mpc5200 powerpc - RCU issue? Luotao Fu
2008-01-29 13:38 ` Wolfgang Grandegger
2008-01-30 1:07 ` Paul E. McKenney
2008-01-30 8:18 ` Wolfgang Grandegger
2008-01-30 10:22 ` Paul E. McKenney
2008-01-30 10:45 ` Wolfgang Grandegger
2008-01-30 10:57 ` Paul E. McKenney
2008-01-30 11:15 ` Luotao Fu
2008-07-01 14:27 ` Wolfgang Grandegger
2008-07-01 15:11 ` Steven Rostedt
2008-07-01 16:11 ` Wolfgang Grandegger
2008-07-01 21:11 ` Luotao Fu
2008-07-02 11:03 ` Wolfgang Grandegger
2008-07-06 0:42 ` Steven Rostedt
2008-07-06 9:41 ` Wolfgang Grandegger
2008-07-08 15:08 ` Luotao Fu
2008-07-08 19:43 ` Wolfgang Grandegger
2008-07-09 12:53 ` Luotao Fu
2008-07-09 13:15 ` Wolfgang Grandegger
2008-07-09 14:52 ` Luotao Fu
2008-07-10 7:50 ` Wolfgang Grandegger
2008-08-01 21:09 ` Paul E. McKenney
2008-08-01 21:09 ` Paul E. McKenney
2008-08-05 15:40 ` Wolfgang Grandegger
2008-07-02 8:09 ` Wolfgang Grandegger
2008-07-06 0:39 ` Steven Rostedt
2008-07-06 9:34 ` Wolfgang Grandegger
2008-01-30 11:22 ` Wolfgang Grandegger
2008-01-17 19:57 ` 2.6.24-rc8-rt1 Mariusz Kozlowski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080123145340.GE6200@pengutronix.de \
--to=l.fu@pengutronix.de \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rt-users@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=rostedt@goodmis.org \
--cc=tglx@linutronix.de \
--cc=wg@grandegger.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).