From: Mark Gross <mgross@linux.co.intel.com>
To: arjanv@redhat.com, Tim Bird <tim.bird@am.sony.com>
Cc: root@chaos.analogic.com, linux kernel <linux-kernel@vger.kernel.org>
Subject: Re: Why no interrupt priorities?
Date: Thu, 26 Feb 2004 14:21:34 -0800 [thread overview]
Message-ID: <200402261421.34885.mgross@linux.intel.com> (raw)
In-Reply-To: <1077831001.4443.9.camel@laptop.fenrus.com>
On Thursday 26 February 2004 13:30, Arjan van de Ven wrote:
> On Thu, 2004-02-26 at 22:02, Tim Bird wrote:
> > Richard B. Johnson wrote:
> > > 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.
> >
> > Please forgive my ignorance. I'm not sure what's going
> > on with 2.6 and work queues, but do the hardware priorities
> > allow you to control scheduling of interrupt bottom halves?
>
> hardware IRQ priorities are useless for the linux model. In linux, the
> hardirq runs *very* briefly and then lets the softirq context do the
> longer taking work. hardware irq priorities then don't matter really
> because the hardirq's are hardly ever interrupted really, and when they
> are they cause a performance *loss* due to cache trashing. The latency
> added by waiting briefly is going to be really really short for any sane
> hardware.
Keep in mind the context is Linux running on non-sane hardware, sloooow CPUs,
latency sensitive small io buffers etc. Losing system wide throughput to have
the hardware codec not be starved is a happy trade off to make.
So far all the comments are very PC centric. I suspect the history of the no
interrupt priorities goes back a lot of years. Perhaps the answer is that it
never seemed to help having priorities much on PC hardware so lets not deal
with the complexity in the software.
Any more historical insights?
I wonder how hard it would be add for embedded types of
applications/architectures?
--mgross
>
> Now doing priorities in softirq context... well... here again it's a
> case of a tiny latency hit vs a lot of cache trashing. If your softirq
> handler runs in 10 cachemisses (it's useless to talk about cpu cycles
> since most of teh time you'll be cache bound) that's not too long
> latency, but if you interrupt it it might get 15 or more cachemisses
> instead. That again will increase the delay the user context gets from
> irq's.... so from a userspace pov you actually increased irq latency....
next prev parent reply other threads:[~2004-02-26 22:37 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-02-26 19:05 Why no interrupt priorities? Tim Bird
2004-02-26 19:39 ` Richard B. Johnson
2004-02-26 21:02 ` Tim Bird
2004-02-26 21:30 ` Arjan van de Ven
2004-02-26 22:21 ` Mark Gross [this message]
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
-- strict thread matches above, loose matches on Subject: below --
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=200402261421.34885.mgross@linux.intel.com \
--to=mgross@linux.co.intel.com \
--cc=arjanv@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=root@chaos.analogic.com \
--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