*BSD News Article 27095


Return to BSD News archive

Newsgroups: comp.os.386bsd.questions
Path: sserve!newshost.anu.edu.au!munnari.oz.au!yoyo.aarnet.edu.au!news.adelaide.edu.au!basser.cs.su.oz.au!news.cs.su.oz.au!metro!seagoon.newcastle.edu.au!wabbit.cc.uow.edu.au!dmssyd.syd.dms.CSIRO.AU!dmsperth.per.dms.CSIRO.AU!uniwa!harbinger.cc.monash.edu.au!yeshua.marcam.com!usc!elroy.jpl.nasa.gov!ames!ncar!csn!hellgate.utah.edu!lanl!nash!jxg
From: jxg@purcell.lanl.gov (John M. Galbraith,(GRA))
Subject: Re: The Stray Interrupt Problem (7) under N
Message-ID: <1994Feb7.173308.27261@newshost.lanl.gov>
Sender: news@newshost.lanl.gov
Reply-To: jxg@purcell.lanl.gov
Organization: purcell LANL
References: <2im84d$ahk@pdq.coe.montana.edu>
Date: Mon, 7 Feb 1994 17:33:08 GMT
Lines: 32

In article ahk@pdq.coe.montana.edu, nate@bsd.coe.montana.edu (Nate Williams) writes:
> In article <2ilr1i$6fl@hrd769.brooks.af.mil>,
> Dave Burgess <burgess@hrd769.brooks.af.mil> wrote:
> >It this example, I would think that a much more likely culprit than random
> >lpt interrupts would be that the cable in this case was bad/marginal.
> 
> The interrupt 7's are caused by interrupts that are sent but not received.
> 
> So, if the wd driver sends out an interrupt but some other driver (or itself)
> blocks interrupts for too long a time then a stray interrupt is generrated.

 < stuff deleted >

I was wondering if somebody in the know could examine this a bit more.  I have 
been hacking on a MIDI driver and have apparently run into this, although I did
not know what the problem was until reading this thread.  Every once in a while
the driver drops a character.  (MIDI is serial, 31.25Kbaud)  It turns out that
I am getting stray interrupt 7's whenever this happens.  Apparently, the interrupts
for these missing characters are being ignored, and that is why the stray interrupt,
and the missing character. 

	I don't mask the interrupts at all, so I don't suspect that they are being
blocked for too long.  Not masking at all could be the problem too, I suppose. 
Does that mean that the interrupt routine is just plain too long, and the next
character interrupts the currently running interrupt routine?

	What kind of timing problems might be possible, and how does one go about 
finding them?  Also, before you say that there is a mpu driver in the sound driver
code, I know that.  I want to use the mpu as a coprocessor, not just a UART.

john