Re: Realtime Preemption, 2.6.12, Beginners Guide?

From: Alistair John Strachan
Date: Wed Jul 06 2005 - 20:54:16 EST


On Wednesday 06 Jul 2005 17:37, Alistair John Strachan wrote:
[big snip]
> >
> > could you try the patch below (or the -51-05 patch that i just
> > uploaded), does it fix this latency?
> >
> > Ingo
>
> I'm beginning to understand the issue, and I see why you think the proposed
> patch fixes it. I'll compile and boot V0.7.51-05 now.

Indeed, this seems to have fixed it.

( softirq-timer/0-3 |#0): new 8 us maximum-latency wakeup.
( softirq-timer/0-3 |#0): new 9 us maximum-latency wakeup.
( softirq-timer/0-3 |#0): new 9 us maximum-latency wakeup.
( softirq-timer/0-3 |#0): new 9 us maximum-latency wakeup.
( softirq-timer/0-3 |#0): new 10 us maximum-latency wakeup.
( softirq-timer/0-3 |#0): new 14 us maximum-latency wakeup.

Find attached another trace (only 33us this time).

--
Cheers,
Alistair.

personal: alistair()devzero!co!uk
university: s0348365()sms!ed!ac!uk
student: CS/CSim Undergraduate
contact: 1F2 55 South Clerk Street,
Edinburgh. EH8 9PP.
preemption latency trace v1.1.4 on 2.6.12-RT-V0.7.51-05
--------------------------------------------------------------------
latency: 38 us, #27/27, CPU#0 | (M:rt VP:0, KP:1, SP:1 HP:1 #P:1)
-----------------
| task: softirq-timer/0-3 (uid:0 nice:-10 policy:0 rt_prio:0)
-----------------

_------=> CPU#
/ _-----=> irqs-off
| / _----=> need-resched
|| / _---=> hardirq/softirq
||| / _--=> preempt-depth
|||| /
||||| delay
cmd pid ||||| time | caller
\ / ||||| \ | /
<...>-3485 0dnh3 0us!: <6f6f726b> (<616d6974>)
<...>-3485 0dnh3 1us : __trace_start_sched_wakeup (try_to_wake_up)
<...>-3485 0dnh3 1us : __trace_start_sched_wakeup <softirq--3> (69 0)
<...>-3485 0dnh2 2us : try_to_wake_up <softirq--3> (69 76)
<...>-3485 0dnh1 2us : preempt_schedule (try_to_wake_up)
<...>-3485 0dnh1 3us : wake_up_process (trigger_softirqs)
<...>-3485 0dnh1 3us : local_irq_restore (do_softirq)
<...>-3485 0Dnh1 4us+: preempt_schedule (do_softirq)
<...>-3485 0Dnh. 7us : __schedule (work_resched)
<...>-3485 0Dnh. 8us : profile_hit (__schedule)
<...>-3485 0Dnh1 8us+: sched_clock (__schedule)
<...>-3485 0Dnh2 12us : dequeue_task (__schedule)
<...>-3485 0Dnh2 13us : recalc_task_prio (__schedule)
<...>-3485 0Dnh2 13us : effective_prio (recalc_task_prio)
<...>-3485 0Dnh2 13us : enqueue_task (__schedule)
<...>-3485 0Dnh2 14us+: trace_array (__schedule)
<...>-3485 0Dnh2 18us : trace_array <softirq--3> (69 6e)
<...>-3485 0Dnh2 18us : trace_array <<...>-3485> (76 78)
<...>-3485 0Dnh2 20us+: trace_array (__schedule)
softirq--3 0Dnh2 28us+: __switch_to (__schedule)
softirq--3 0Dnh2 31us : __schedule <<...>-3485> (76 69)
softirq--3 0Dnh2 31us : finish_task_switch (__schedule)
softirq--3 0Dnh1 32us : trace_stop_sched_switched (finish_task_switch)
softirq--3 0Dnh2 33us+: trace_stop_sched_switched <softirq--3> (69 0)
softirq--3 0Dnh2 35us : trace_stop_sched_switched (finish_task_switch)


vim:ft=help