From: ebiederm@xmission.com (Eric W. Biederman)
To: Andrew McNamara <andrewm@connect.com.au>
Cc: Jes Sorensen <jes@sunsite.dk>, Chris Wedgwood <cw@f00f.org>,
linux-kernel@vger.kernel.org
Subject: Re: how to tell Linux *not* to share IRQs ?
Date: 08 Aug 2001 05:14:07 -0600 [thread overview]
Message-ID: <m1wv4eu7ls.fsf@frodo.biederman.org> (raw)
In-Reply-To: <20010808000528.DB146BF02@wawura.off.connect.com.au>
In-Reply-To: <20010808000528.DB146BF02@wawura.off.connect.com.au>
Andrew McNamara <andrewm@connect.com.au> writes:
> >Chris> Yes, drivers need to check their hardware devices and
> >Chris> acknowledge whether or not it's was their interrupt or not. It
> >Chris> sounds terrible but even with many thousands of interrupts per
> >Chris> second the cost doesn't seem to be that high.
> >
> >Not only is this the case, it's also the only sane thing to do <tm>,
> >any device driver should check the status of the hardware it is
> >serving before doing anything else.
>
> That's not necessarily the case - the problem arises due the
> limitations of PC interrupt routing. In an ideal world, the
> interrupting device would be able to be uniquely identified, rather
> than having to poll every device sharing that interrupt.
Interrupts are inherently race, so you still want to check your device
status, even if you get an interrupt. Having a smaller set of devices
to poll to see if there is any work to do is of course good.
> The problem is largely historical - each interrupt traditionally had a
> physically line associated with it, and lines on your backplane were a
> limited resource.
>
> If you were to do it again these days, you might have some sort of
> shared serial bus, so devices could give detailed data to the cpu
> (not only to uniquely identify the interrupting device, but also
> identify sub-devices - say a USB peripheral).
I don't know. The ISA bus was structured somewhat like you describe
and that is what is truly legacy at the moment. I suspect
the one line per interrupt came of wanting to reduce latencies.
Though when you start think of things like the current ioapics where
you do get a serial bus for your interrupts anyway. A shared serial
bus probably makes sense.
On the other side I think having drivers that can share interupts is a
very healthy thing so I'm not certain I would want to discourage that.
Eric
next prev parent reply other threads:[~2001-08-08 11:21 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-07-25 23:23 how to tell Linux *not* to share IRQs ? Scott McDermott
2001-07-25 23:37 ` Alan Cox
2001-07-26 7:06 ` Andrew McNamara
2001-07-26 7:39 ` Chris Wedgwood
2001-08-07 15:09 ` Jes Sorensen
2001-08-08 0:05 ` Andrew McNamara
2001-08-08 11:14 ` Eric W. Biederman [this message]
2001-08-08 17:13 ` Mark H. Wood
2001-07-26 7:54 ` Francois Romieu
-- strict thread matches above, loose matches on Subject: below --
2001-08-08 19:03 Per Jessen
2001-08-08 19:19 ` Chris Meadors
2001-11-06 23:17 ` H. Peter Anvin
2001-08-09 14:27 ` Andreas Bombe
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=m1wv4eu7ls.fsf@frodo.biederman.org \
--to=ebiederm@xmission.com \
--cc=andrewm@connect.com.au \
--cc=cw@f00f.org \
--cc=jes@sunsite.dk \
--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