9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: jmk@plan9.bell-labs.com
To: 9fans@cse.psu.edu
Subject: Re: [9fans] ATA next
Date: Fri, 23 Jan 2004 11:38:31 -0500	[thread overview]
Message-ID: <3dcff730ab56eb83f41cd6200f9ce3a3@plan9.bell-labs.com> (raw)
In-Reply-To: <ed8f1e8a629e33c8977cad10aa9684f0@terzarima.net>

On Fri Jan 23 04:12:42 EST 2004, forsyth@terzarima.net wrote:
> >>It all puts the lie to the above.  I must conclude that something
> >>in the interrupt handling rather than in the ATA DMA code has
> >>changed to cause so many more int 7s to occur.  I'm looking forward
>
> i thought IRQ7 was generated when a device requested an interrupt
> then incorrectly removed that irq signal before the cpu acknowledged it.
> a quick google search seems to confirm that.
> see http://www.geocrawler.com/archives/3/171/2000/5/0/3704984/
> (ie, it's not the driver code as such that causes it, but the hardware.)
>
> i wonder, though, whether it can happen if an interrupt
> is configured as level-triggered in the controller or system
> but is actually edge-triggered.  i didn't think there were level-triggered interrupts
> on a system without PCI, but perhaps there are.
> you might check your system's BIOS settings

if the driver has a loop in the interrupt routine:

	while(device has something new for me to do)
		do it

then, in the case of edge-triggered interrupts, the interrupt
routine can cause the reason for a 2nd interrupt to go away after
it has been received by the i8259. in this case the 8259 will
immediately interrupt the cpu again after the first interrupt has
returned, only to find it hasn't got the info about where the
interrupt came from. so it jumps up and says '7' (or '15' if it's
the 2nd i8259).

that's what i understood.
sometimes the interrupt routine can/should be rewritten to make
the problem go away, but edge-triggered interrupts just gulp buckets.


  parent reply	other threads:[~2004-01-23 16:38 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-01-22 14:23 Lucio De Re
2004-01-22 15:22 ` jmk
2004-01-22 18:19   ` Lucio De Re
2004-01-22 19:13     ` jmk
2004-01-23  5:19       ` Lucio De Re
2004-01-23  9:11         ` Charles Forsyth
2004-01-23  9:37           ` Lucio De Re
2004-01-23 16:38           ` jmk [this message]
2004-01-23 16:47             ` C H Forsyth
2004-01-22 15:53 ` David Presotto
2004-01-22 18:36   ` Lucio De Re
2004-01-22 19:53     ` David Presotto
2004-01-23  5:55       ` [9fans] imap4d operation (Was: ATA next) Lucio De Re
2004-01-23 16:39         ` David Presotto
2004-01-22 20:10     ` [9fans] ATA next David Presotto
2004-01-23  7:11       ` Lucio De Re
2004-01-23  9:00         ` Lucio De Re
2004-01-23 16:37         ` David Presotto

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=3dcff730ab56eb83f41cd6200f9ce3a3@plan9.bell-labs.com \
    --to=jmk@plan9.bell-labs.com \
    --cc=9fans@cse.psu.edu \
    /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;
as well as URLs for NNTP newsgroup(s).