Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.27-3

From: Florian Schmidt
Date: Tue Nov 16 2004 - 17:04:49 EST


On Tue, 16 Nov 2004 22:33:12 +0100
Florian Schmidt <mista.tapas@xxxxxxx> wrote:

> On Tue, 16 Nov 2004 23:31:35 +0100
> Ingo Molnar <mingo@xxxxxxx> wrote:
>
> > and i'd suggest to chrt irq 1 back to below prio 90, maybe this explains
> > the console-switching latency? If you do a console-switch via the
> > keyboard then its priority 99 can get inherited by events/0 which then
> > does the quite expensive VGA console clearing/copying with priority 99,
> > possibly delaying rtc_wakeup quite significantly, easily for a
> > millisecond or so. So what you are seeing might be priority inheritance
> > handling at work!
> >
>
> ah, will try this right away..

now, doesn't seem to make a difference.. i gave IRQ 1 prio 40 and the
behaviour is the same.. BTW: what about IRQ 0? I tried at different prios
[40 and 99]. Doesn't make a difference either. As far as i understand it, it
really shouldn't make a difference either as in the interesting cases (app
woken up by irq) the scheduler is explicitly run anyways, right?

Here's another trace:

preemption latency trace v1.0.7 on 2.6.10-rc2-mm1-RT-V0.7.27-10
-------------------------------------------------------
latency: 1056 us, entries: 22 (22) | [VP:0 KP:1 SP:1 HP:1 #CPUS:1]
-----------------
| task: IRQ 0/2, uid:0 nice:0 policy:1 rt_prio:99
-----------------
=> started at: try_to_wake_up+0x51/0x170 <c010f3a1>
=> ended at: finish_task_switch+0x51/0xb0 <c010f911>
=======>
5 80010004 0.000ms (+0.000ms): trace_start_sched_wakeup (try_to_wake_up)
5 80010003 0.000ms (+0.000ms): (0) ((98))
5 80010003 0.000ms (+0.000ms): (2) ((5))
5 80010003 0.000ms (+0.000ms): try_to_wake_up (wake_up_process)
5 80010003 0.000ms (+0.000ms): (0) ((1))
5 80010002 0.000ms (+0.000ms): preempt_schedule (try_to_wake_up)
5 80010002 0.000ms (+0.000ms): wake_up_process (redirect_hardirq)
5 80010001 0.000ms (+0.000ms): preempt_schedule (__do_IRQ)
5 80010001 0.000ms (+0.000ms): irq_exit (do_IRQ)
5 80000002 0.000ms (+0.000ms): do_softirq (irq_exit)
5 80000002 0.001ms (+1.054ms): __do_softirq (do_softirq)
5 00000000 1.055ms (+0.000ms): preempt_schedule (_mmx_memcpy)
5 90000000 1.055ms (+0.000ms): __schedule (preempt_schedule)
5 90000000 1.055ms (+0.000ms): profile_hit (__schedule)
5 90000001 1.055ms (+0.000ms): sched_clock (__schedule)
2 80000002 1.056ms (+0.000ms): __switch_to (__schedule)
2 80000002 1.056ms (+0.000ms): (5) ((2))
2 80000002 1.056ms (+0.000ms): (98) ((0))
2 80000002 1.056ms (+0.000ms): finish_task_switch (__schedule)
2 80000001 1.056ms (+0.000ms): trace_stop_sched_switched (finish_task_switch)
2 80000001 1.056ms (+0.003ms): (2) ((0))
2 80000001 1.060ms (+0.000ms): trace_stop_sched_switched (finish_task_switch)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/