2004-10-09 10:42:52

by torbenh

[permalink] [raw]
Subject: voluntary-preempt T3 latency spikes with fan speed change


hi...

i am seeing latency spikes (ie jack xruns) when the fan of my
asus l3d laptop changes speed.

is there any chance to fix this ?
i have turned off acpi in the kernel, as this gives me latency spikes
all over.

i am quite new to the VP patches, and want to help where i can.

i also got a quite strange latency trace here:

could someone sched some light on this please ?


preemption latency trace v1.0.7 on 2.6.9-rc3-mm2-VP-T1
-------------------------------------------------------
latency: 4579 us, entries: 45 (45) | [VP:1 KP:1 SP:1 HP:1 #CPUS:1]
-----------------
| task: ardour/5244, uid:1000 nice:0 policy:0 rt_prio:0
-----------------
=> started at: do_IRQ+0x19/0x60
=> ended at: irq_exit+0x3c/0x50
=======>
00010000 0.000ms (+0.000ms): do_IRQ (common_interrupt)
00010000 0.000ms (+0.000ms): do_IRQ (<415a3011>)
00010000 0.000ms (+0.000ms): do_IRQ (<00000000>)
00010001 0.000ms (+0.002ms): mask_and_ack_8259A (__do_IRQ)
00010001 0.002ms (+0.000ms): redirect_hardirq (__do_IRQ)
00010000 0.002ms (+0.000ms): handle_IRQ_event (__do_IRQ)
00010000 0.003ms (+0.000ms): timer_interrupt (handle_IRQ_event)
00010001 0.003ms (+0.006ms): mark_offset_tsc (timer_interrupt)
00010001 0.010ms (+0.000ms): do_timer (timer_interrupt)
00010001 0.010ms (+0.000ms): update_wall_time (do_timer)
00010001 0.010ms (+0.000ms): update_wall_time_one_tick (update_wall_time)
00010001 0.011ms (+0.000ms): update_process_times (timer_interrupt)
00010001 0.011ms (+0.000ms): update_one_process (update_process_times)
00010001 0.011ms (+0.000ms): run_local_timers (update_process_times)
00010001 0.011ms (+0.000ms): raise_softirq (update_process_times)
00010001 0.012ms (+0.000ms): scheduler_tick (update_process_times)
00010001 0.012ms (+0.000ms): sched_clock (scheduler_tick)
00010002 0.013ms (+0.000ms): task_timeslice (scheduler_tick)
00010002 0.013ms (+0.000ms): dequeue_task (scheduler_tick)
00010002 0.013ms (+0.000ms): effective_prio (scheduler_tick)
00010002 0.013ms (+0.000ms): enqueue_task (scheduler_tick)
00010001 0.013ms (+0.000ms): preempt_schedule (scheduler_tick)
00010001 0.014ms (+0.000ms): profile_tick (timer_interrupt)
00010000 0.014ms (+4.561ms): preempt_schedule (timer_interrupt)
00010001 4.576ms (+0.000ms): note_interrupt (__do_IRQ)
00010001 4.576ms (+0.000ms): end_8259A_irq (__do_IRQ)
00010001 4.576ms (+0.000ms): enable_8259A_irq (__do_IRQ)
00010001 4.577ms (+0.000ms): preempt_schedule (__do_IRQ)
00010000 4.577ms (+0.000ms): preempt_schedule (__do_IRQ)
00010000 4.577ms (+0.000ms): irq_exit (do_IRQ)
00000001 4.577ms (+0.000ms): do_softirq (irq_exit)
00000001 4.577ms (+0.000ms): __do_softirq (do_softirq)
00000001 4.577ms (+0.000ms): wake_up_process (do_softirq)
00000001 4.577ms (+0.000ms): try_to_wake_up (wake_up_process)
00000001 4.577ms (+0.000ms): task_rq_lock (try_to_wake_up)
00000002 4.578ms (+0.000ms): activate_task (try_to_wake_up)
00000002 4.578ms (+0.000ms): sched_clock (activate_task)
00000002 4.578ms (+0.000ms): recalc_task_prio (activate_task)
00000002 4.579ms (+0.000ms): effective_prio (recalc_task_prio)
00000002 4.579ms (+0.000ms): enqueue_task (activate_task)
00000001 4.579ms (+0.000ms): preempt_schedule (try_to_wake_up)
00000001 4.579ms (+0.000ms): sub_preempt_count (irq_exit)
00000001 4.580ms (+0.000ms): update_max_trace (check_preempt_timing)
00000001 4.580ms (+0.000ms): _mmx_memcpy (update_max_trace)
00000001 4.580ms (+0.000ms): kernel_fpu_begin (_mmx_memcpy)

--
torben Hohn
http://galan.sourceforge.net -- The graphical Audio language


2004-10-11 17:07:29

by Andrew Rodland

[permalink] [raw]
Subject: Re: voluntary-preempt T3 latency spikes with fan speed change

[email protected] wrote:

>
> hi...
>
> i am seeing latency spikes (ie jack xruns) when the fan of my
> asus l3d laptop changes speed.
>
> is there any chance to fix this ?
> i have turned off acpi in the kernel, as this gives me latency spikes
> all over.
>
> i am quite new to the VP patches, and want to help where i can.
>
> i also got a quite strange latency trace here:
>
> could someone sched some light on this please ?
>

I can't say for certain, but I'm guessing that your laptop has a deeply
broken BIOS that implements ACPI and suchlike by using SMM, which blocks
out interrupts, and there's nothing, I believe, you can do about it.
Disabling ACPI seems sensible; at least you can avoid causing these delays
intentionally, but if some sensor interrupt triggers a flip into SMM to
enable the fan, you're just screwed for a number of milliseconds.

Andrew


2004-10-11 22:08:11

by Lee Revell

[permalink] [raw]
Subject: Re: voluntary-preempt T3 latency spikes with fan speed change

On Mon, 2004-10-11 at 13:03, Andrew Rodland wrote:
> [email protected] wrote:
>
> >
> > hi...
> >
> > i am seeing latency spikes (ie jack xruns) when the fan of my
> > asus l3d laptop changes speed.
> >
> > is there any chance to fix this ?
> > i have turned off acpi in the kernel, as this gives me latency spikes
> > all over.
> >
> > i am quite new to the VP patches, and want to help where i can.
> >
> > i also got a quite strange latency trace here:
> >
> > could someone sched some light on this please ?
> >
>
> I can't say for certain, but I'm guessing that your laptop has a deeply
> broken BIOS that implements ACPI and suchlike by using SMM, which blocks
> out interrupts, and there's nothing, I believe, you can do about it.
> Disabling ACPI seems sensible; at least you can avoid causing these delays
> intentionally, but if some sensor interrupt triggers a flip into SMM to
> enable the fan, you're just screwed for a number of milliseconds.
>

Many, many people are seeing this problem (weird, often periodic latency
spikes on laptops that go away when ACPI is disabled). This would
explain a lot of weird bug reports. So are most laptops just
incompatible with low latency applications, or are we talking about a
small minority of broken hardware?

Is there any way to tell a priori whether a machine will have this
problem?

Lee