lkml.org 
[lkml]   [2004]   [Aug]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [patch] voluntary-preempt-2.6.9-rc1-bk4-Q5
At Tue, 31 Aug 2004 13:20:19 -0400,
Lee Revell wrote:
>
> On Tue, 2004-08-31 at 11:17, Mark_H_Johnson@raytheon.com wrote:
> > >I will be running some additional tests
> > >- reducing preempt_max_latency
> > >- running with sortirq and hardirq_preemption=0
> > >to see if these uncover any further problems.
> >
> > #1 - audio driver
> > latency: 621 us, entries: 28 (28)
> > -----------------
> > | task: latencytest/11492, uid:0 nice:0 policy:1 rt_prio:99
> > -----------------
> > => started at: snd_ensoniq_playback1_prepare+0x74/0x180
> > => ended at: snd_ensoniq_playback1_prepare+0x11d/0x180
> > =======>
> > 00000001 0.000ms (+0.000ms): snd_ensoniq_playback1_prepare
> > (snd_pcm_do_prepare)
> > 00000001 0.014ms (+0.014ms): snd_es1371_dac1_rate
> > (snd_ensoniq_playback1_prepare)
> > 00000001 0.014ms (+0.000ms): snd_es1371_wait_src_ready
> > (snd_es1371_dac1_rate)
> > 00000001 0.562ms (+0.548ms): snd_es1371_src_read (snd_es1371_dac1_rate)
> > 00000001 0.562ms (+0.000ms): snd_es1371_wait_src_ready
> > (snd_es1371_src_read)
> > 00000001 0.578ms (+0.015ms): snd_es1371_wait_src_ready
> > (snd_es1371_src_read)
> > 00000001 0.585ms (+0.006ms): snd_es1371_src_write (snd_es1371_dac1_rate)
> > 00000001 0.585ms (+0.000ms): snd_es1371_wait_src_ready
> > (snd_es1371_src_write)
> > 00000001 0.601ms (+0.015ms): snd_es1371_src_write (snd_es1371_dac1_rate)
> > 00000001 0.601ms (+0.000ms): snd_es1371_wait_src_ready
> > (snd_es1371_src_write)
> > 00000001 0.602ms (+0.001ms): snd_es1371_wait_src_ready
> > (snd_es1371_dac1_rate)
> > 00000001 0.616ms (+0.013ms): smp_apic_timer_interrupt
> > (snd_ensoniq_playback1_prepare)
> >
> > or
> >
> > latency: 663 us, entries: 41 (41)
> > -----------------
> > | task: latencytest/11492, uid:0 nice:0 policy:1 rt_prio:99
> > -----------------
> > => started at: snd_ensoniq_playback1_prepare+0x74/0x180
> > => ended at: snd_ensoniq_playback1_prepare+0x11d/0x180
> > =======>
> > 00000001 0.000ms (+0.000ms): snd_ensoniq_playback1_prepare
> > (snd_pcm_do_prepare)
> > 00000001 0.004ms (+0.004ms): snd_es1371_dac1_rate
> > (snd_ensoniq_playback1_prepare)
> > 00000001 0.005ms (+0.000ms): snd_es1371_wait_src_ready
> > (snd_es1371_dac1_rate)
> > 00000001 0.006ms (+0.001ms): snd_es1371_src_read (snd_es1371_dac1_rate)
> > 00000001 0.006ms (+0.000ms): snd_es1371_wait_src_ready
> > (snd_es1371_src_read)
> > 00000001 0.019ms (+0.012ms): snd_es1371_wait_src_ready
> > (snd_es1371_src_read)
> > 00000001 0.607ms (+0.588ms): snd_es1371_src_write (snd_es1371_dac1_rate)
> > 00000001 0.608ms (+0.000ms): snd_es1371_wait_src_ready
> > (snd_es1371_src_write)
> > 00000001 0.624ms (+0.016ms): snd_es1371_src_write (snd_es1371_dac1_rate)
> > 00000001 0.624ms (+0.000ms): snd_es1371_wait_src_ready
> > (snd_es1371_src_write)
> > 00000001 0.626ms (+0.001ms): snd_es1371_wait_src_ready
> > (snd_es1371_dac1_rate)
> > 00000001 0.639ms (+0.013ms): smp_apic_timer_interrupt
> > (snd_ensoniq_playback1_prepare)
>
> Hmm, looks like the es1371 takes ~0.5 ms to set the DAC rate. The ALSA
> team would probably be able to help. Takashi, any ideas?

Does the attached patch fix this problem?


Takashi

--- linux/sound/pci/ens1370.c 25 Aug 2004 09:57:03 -0000 1.64
+++ linux/sound/pci/ens1370.c 31 Aug 2004 18:17:45 -0000
@@ -513,6 +513,7 @@
r = inl(ES_REG(ensoniq, 1371_SMPRATE));
if ((r & ES_1371_SRC_RAM_BUSY) == 0)
return r;
+ cond_resched();
}
snd_printk("wait source ready timeout 0x%lx [0x%x]\n", ES_REG(ensoniq, 1371_SMPRATE), r);
return 0;
-
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/
\
 
 \ /
  Last update: 2005-03-22 14:05    [from the cache]
©2003-2011 Jasper Spaans