Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 21 Mar 2000 17:37:37 -0800
From:      Ken Marx <kmarx@bigshed.com>
To:        freebsd-multimedia@FreeBSD.ORG
Cc:        Ken Marx <kmarx@bigshed.com>
Subject:   Lost interrupts in snd0 ?
Message-ID:  <38D823E1.87FDA291@bigshed.com>

next in thread | raw e-mail | index | archive | help
Hi,

I'm seeing intermitent long (> 10 sec) pauses in
the snd (voxware) driver, that look to be possibly due
to lost interrupts.

This is on 3.2 and 3.4 hosts, AMD K6-III and K7, respectively.
Both use a Creative AWE64 isa soundcard.

It is easy to reproduce, but not strictly deterministic.

I can make it happen by using waveplay on a .wav file,
or also in my own code that calls a third party package.

It occurs when i386/isa/dmabuf.c's dma_sync() calls
DO_SLEEP1(). Usually the sleep is woken up via interrupt
in DMAbuf_outputintr(), but on some occasions it times out
after about 10 (!) seconds.

For waveplay it seems to happen when close() is called on
the /dev/dsp device. For my app, I can see the package invoking
the sync via a SNDCTL_DSP_SYNC ioctl. (To reproduce, try
% repeat 200 waveplay some_short_file.wav. That usually produces
the problem 2-10 or more times.)

Using truss, ktrace and a bunch of hacky debug in the driver code,
I can't see anything significantly different between the cases where
everything is fine and those where the timeout occurs.

I have pretty much convinced myself that none of the code
there actually sees an interrupt and mistakenly ignores it.

I haven't put a scope on the board or anything, so I don't know
if it truly is/isn't trying to intuerrupt.

Just to make matters more confusing, a friend in the UK is also
running 3.2 on an AMDK6-III, same soundcard, and can't reproduce
this problem.

Can anyone please help? I'm pretty week on how the sound stuff
is supposed to work, and am kind of running low on ideas?

Is the AWE64 known for this kind of behavior? (If so, any
better alternatives that will work with 3.x voxware driver?)

Could it be something with the motherboard, dma controller, bus?
I'm really grasping at straws here...

Any thoughts?

Thanks much for any assistance!
k.

-- 
Ken Marx, kmarx@bigshed.com
It's a tough road to hoe, but we have to leverage our critical resources and 
determine the right amount of effort with respect to the methodology assets.
		- http://cgi.bigshed.com/~kmarx/cgi-bin/speak.cgi


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-multimedia" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?38D823E1.87FDA291>