public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Lee Revell <rlrevell@joe-job.com>
To: linux-kernel <linux-kernel@vger.kernel.org>,
	Andrew Morton <akpm@osdl.org>
Subject: Re: Losing interrupts
Date: Thu, 15 Jul 2004 17:36:24 -0400	[thread overview]
Message-ID: <1089927383.24832.14.camel@mindpipe> (raw)
In-Reply-To: <1089843559.22841.8.camel@mindpipe>

On Wed, 2004-07-14 at 18:19, Lee Revell wrote:
> It seems that interrupts are being disabled for long periods, resulting
> in the soundcard interrupt being lost.  I hacked the ALSA emu10k1 driver
> to keep track in the interrupt handler of the number of CPU cycles
> elapsed since the last time it ran.  I am using a period that
> corresponds to 666 microseconds between interrupts, or ~400000 cycles on
> my 600Mhz CPU.  As you can see the average jitter is *extremely* low -
> 50-400 CPU cycles of per interrupt.  I hardcoded it to printk if the
> jitter is more than 15000 (only happens every 5-10 seconds), and error
> if it's really big.  As you can see, something is disabling interrupts
> for a long time.  This is a completely different issue from an XRUN,
> improving the scheduler latency will not solve this.
> 

The problem is with the video driver (Via CastleRock integrated,
AGP4x).  By dragging certain windows around slowly in X, I can reliably
cause interrupts to be completely disabled for tens of milliseconds.

There was an issue several years ago where Matrox figured out they could
get slightly better benchmark scores by not checking whether a FIFO on
the video card was full before writing to it, which would cause the PCI
bus to completely freeze until the FIFO had drained.  Lots of vendors
followed suit until one of the audio software vendors figred it out and
called them on it, at which point they fixed their drivers.  The effects
(massive audio drouputs) and the steps to reproduce (drag a window
around the screen slowly) were identical.

I will contact the maintainer.

Lee




  reply	other threads:[~2004-07-15 21:36 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-07-14 22:19 Losing interrupts Lee Revell
2004-07-15 21:36 ` Lee Revell [this message]
2004-07-15 21:04   ` Andrew Morton
2004-07-16  3:24 ` Lee Revell
  -- strict thread matches above, loose matches on Subject: below --
2004-07-16  9:16 Remon Sijrier
2004-07-16 21:00 ` Lee Revell
2004-07-17 13:29   ` Remon Sijrier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1089927383.24832.14.camel@mindpipe \
    --to=rlrevell@joe-job.com \
    --cc=akpm@osdl.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox