Messages in this thread | | | Date | Tue, 16 Nov 2004 22:40:23 +0100 | From | Florian Schmidt <> | Subject | Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm1-V0.7.27-3 |
| |
On Tue, 16 Nov 2004 22:33:12 +0100 Florian Schmidt <mista.tapas@gmx.net> wrote:
> On Tue, 16 Nov 2004 23:31:35 +0100 > Ingo Molnar <mingo@elte.hu> 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |