mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "Richard B. Johnson" <root@chaos.analogic.com>
To: Tim Bird <tim.bird@am.sony.com>
Cc: linux kernel <linux-kernel@vger.kernel.org>
Subject: Re: Why no interrupt priorities?
Date: Thu, 26 Feb 2004 14:39:34 -0500 (EST)	[thread overview]
Message-ID: <Pine.LNX.4.53.0402261423170.4239@chaos> (raw)
In-Reply-To: <403E4363.2070908@am.sony.com>

On Thu, 26 Feb 2004, Tim Bird wrote:

> What's the rationale for not supporting interrupt priorities
> in the kernel?

Interrupt priorities are supported and have been supported
since the first cascaded interrupt controllers and, now
with the APIC. The interrupt priorities are enforced by
hardware. There are no "software interrupt priorities"
because we have more than one interrupt, already prioritized
by the hardware. The basic PC/AT has IRQ0 through IRQ15 interrupt
sources. The IO-APIC code emulates this. The priorites go like this:

Highest priority
  |
IRQ0	PIT channel 0
IRQ1	Keyboard
IRQ2	Cascade to second controller
IRQ8
IRQ9
IRQ10
IRQ11
IRQ12
IRQ13
IRQ14
IRQ15
IRQ3	Serial 1, Serial 3
IRQ4	Serial 0, Serial 2
IRQ5	Floppy disk
IRQ6
IRQ7	Printer
 |
Lowest priority

You can't do software interrupt priorities with hardware interrupt
controllers unless you funnel everything into one master ISR that
ACKs the hardware, then sorts through some priority lists. The
result is an abortion that wastes CPU cycles and throws away
the hardware advantage that you already have.

If you have an architecture that has only one hardware interrupt,
then you have no choice but to impliment some sort of software
priority scheme. This is not what we have on the ix86.

Cheers,
Dick Johnson
Penguin : Linux version 2.4.24 on an i686 machine (797.90 BogoMips).
            Note 96.31% of all statistics are fiction.



  reply	other threads:[~2004-02-26 19:38 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-02-26 19:05 Tim Bird
2004-02-26 19:39 ` Richard B. Johnson [this message]
2004-02-26 21:02   ` Tim Bird
2004-02-26 21:30     ` Arjan van de Ven
2004-02-26 22:21       ` Mark Gross
2004-02-27  7:14         ` Arjan van de Ven
2004-02-27 11:27           ` Ingo Oeser
2004-02-27 11:52             ` Arjan van de Ven
2004-02-27 13:23     ` Richard B. Johnson
2004-02-27 12:04 ` Christoph Hellwig
2004-02-26 23:47 Albert Cahalan
2004-02-27  1:36 Grover, Andrew
2004-02-27  3:02 ` Randy.Dunlap
2004-02-29  8:32   ` Michael Frank
2004-02-29  8:36     ` Arjan van de Ven
2004-02-29  9:52       ` Michael Frank
2004-02-27  5:32 ` Benjamin Herrenschmidt
2004-02-27  6:26   ` Michael Frank
2004-02-27  6:46     ` Benjamin Herrenschmidt
2004-02-27  9:05     ` Russell King
2004-02-27 13:31       ` Michael Frank
2004-02-27 13:45         ` Richard B. Johnson
2004-02-27 13:50         ` Russell King
2004-02-27 14:51           ` Michael Frank
2004-02-27  7:25 ` Arjan van de Ven
2004-02-27 10:15 ` Helge Hafting
2004-02-27 18:32   ` Mike Fedyk
     [not found] <mailman.1077822002.21081.linux-kernel2news@redhat.com>
2004-02-27  8:00 ` Pete Zaitcev
2004-02-27 11:37 Etienne Lorrain
2004-02-27 13:24 ` Michael Frank
2004-02-27 17:44 Grover, Andrew
2004-02-27 18:15 ` Chris Friesen
2004-02-27 18:42   ` Richard B. Johnson
2004-02-27 19:42     ` Michael Frank
2004-02-27 19:11   ` Michael Frank
2004-02-27 18:55 ` Matt Mackall
2004-02-27 19:09   ` Tim Hockin
2004-02-27 20:29     ` Matt Mackall
2004-02-27 19:19   ` Michael Frank
2004-02-27 20:53     ` Jesse Pollard
2004-02-29  9:43       ` Michael Frank
2004-03-01 16:57         ` Jesse Pollard
2004-03-01 17:35           ` Michael Frank
2004-03-02 15:25             ` Jesse Pollard

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=Pine.LNX.4.53.0402261423170.4239@chaos \
    --to=root@chaos.analogic.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=tim.bird@am.sony.com \
    /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

all inboxes | Powered by JetHome®