pcm timeout (debug output from snd_ich driver)

Conrad J. Sabatier conrads at cox.net
Fri Aug 20 09:48:01 PDT 2004

On Thu, 19 Aug 2004 14:40:30 +0200
Andreas Kohn <andreas.kohn at gmx.net> wrote:

> On Thu, 2004-08-19 at 02:24, Conrad J. Sabatier wrote:
> > OK, I enabled debug output in the sound driver in the hopes of
> > finding out a little bit more about what's going on with these
> > insufferable pcm timeouts using the snd_ich driver.
> Could this be related to the problems I reported in
> http://lists.freebsd.org/pipermail/freebsd-current/2004-August/034386.html
> about high interrupt load with snd_ich?
> While I don't have instant access to this laptop any longer, I got
> another report about snd_ich/SiS7012 uses 8% cpu (which I still
> consider way too much).
> I probably can get debugging information from the 20% laptop, if that
> would help. But I need rather explicit information what to do in this
> case (as I need to communicate that instructions to the laptop's
> owner).

Hmmm.  I haven't noticed any unusually high CPU load here with the
snd_ich driver on the nVidia nForce3 chipset, but that's certainly an
interesting finding.   Of course, here on this amd64 box, top's output
doesn't seem to be particularly accurate or useful.  All processes show
0% CPU all the time, even when the overall system load does get rather

I've been running my completely non-optimized kernel for the last couple
of days, and sound hasn't broken yet.  I'm cautiously optimistic at this
point that perhaps the problems I've been having were related to gcc
optimization on amd64.  There may be some symbols that need to have some
special attributes set on them to foil the optimizer.  Of course, those
symbols could be anywhere, in the general sound driver code, in the
chipset-specific driver(s), or who knows where in the rest of the

Unfortunately, I don't know nearly enough about assembly language on the
i386/amd64 architectures to help track this down.  Perhaps someone more
knowledgeable could compare the asm output from building the kernel with
"-O2 -frename-registers" vs. "-O0" and maybe find something meaningful.

At least, for now, I don't have to reboot the machine a half dozen times
a day or so.  That is is great relief.  :-)

Conrad J. Sabatier <conrads at cox.net> -- "In Unix veritas"

More information about the freebsd-current mailing list