From: Len Brown <len.brown@intel.com>
To: Linus Torvalds <torvalds@osdl.org>
Cc: Arnaldo Carvalho de Melo <acme@conectiva.com.br>,
Kernel Mailing List <linux-kernel@vger.kernel.org>,
Natalie Protasevich <Natalie.Protasevich@UNISYS.com>,
Bjorn Helgaas <bjorn.helgaas@hp.com>
Subject: Re: [PATCH] fix platform_rename_gsi related ia32 build breakage
Date: 11 Nov 2004 21:50:49 -0500 [thread overview]
Message-ID: <1100227848.5520.862.camel@d845pe> (raw)
In-Reply-To: <Pine.LNX.4.58.0411111552030.2301@ppc970.osdl.org>
On Thu, 2004-11-11 at 19:01, Linus Torvalds wrote:
>
> On Thu, 11 Nov 2004, Len Brown wrote:
> We _definitely_ prefer "irq" over something else that means the same
> thing.
Hopeless, I know, to debate the "Royal We" on points of style,
especially when underscores have been invoked;-)
But humor me -- offer a concise definition of the term IRQ, and then
examine usage of the term to see if actually fits within the
definition. The term started off to mean the interrupt pin numbers on
the 8259A PIC, then it started to mean PCI interrupts (PIRQ) pins too,
and sort of IO-APIC pin numbers, except of course when the pin numbers
don't actually linearly map to the IRQ numbers, and it can also be an
interrupt vector, you see some system never had 8259's, and it can also
be the name of the routine that handles an interrupt, and there are
softirqs, which are different from hardirqs, and there are fixup-irqs
etc. etc.
It isn't possible to offer a term that means the same thing as IRQ,
because IRQ is so over-used that it no longer means anything at all.
The term GSI is simple, it is an interrupt number that applies to the
entire system, as if the system had a completely flat interrupt model.
They even drew a little picture to make this clear in the ACPI spec at
http://www.acpi.info Who would think such a simple thing would merit a
diagram?
> If GSI means some _specific_ interrupt, and thus has additional
> meaning over "irq", then by all means, use it, but spell it out.
> "Global System Interrupt" means _nothing_ to me. What makes it
> "global"? What makes it "system"?
>
> The _only_ thing that uses "gsi" is the MP table stuff, and that's
> apparently just from the documentation.
Don't those silly tech-writers know that software can be written
directly from the silicon, and that source-code and the terms used in it
is all the documentation that anybody could ever need?:-)
GSI actually did not appear in the MP spec, that referred only to 8259A
ISA/EISA IRQ's, PCI PIRQs, and IOAPIC INTINs. If they were not PCI
interrupts, the "source bus IRQs" are the same as 8259A Interrupt
Request pins.
> In other words, if it's a normal interrupt, it's "irq" or "interrupt".
> The same way a "disk" is a "disk" - it's not a DASD.
>
> Stupid acronyms that don't actually mean anything more than the
> standard name are nothing but stupid.
I agree 100%, and submit that the term "IRQ" fits this definition of a
"stupid acronym".
> Interrupts are interrupts. We call them something else only if they
> are _specific_ interrupts (ie a "NMI" clearly has a very _specific_
> meaning, as has "SCI", although the latter is already obscure enough
> that it's probably a good idea to spell it out a bit if it is ever
> used outside of a context where use is obvious).
It is true that a GSI and 8259 ISA IRQ are synonyms when their values
are < 16., but the term IRQ is being mis-used whenever it is not in that
context.
-Len
ps. note that x86 built with MSI or other architectures such as ia64
translate the simple GSI number into a vector and pass it around in that
form. I don't know if this is a bug or a feature, but doing so means
that all the interrupt code didn't have to be re-written to accomodate
these varied architectures, and the semantics of a GSI as a unique
global integer identifying an interrupt source remain intact.
next prev parent reply other threads:[~2004-11-12 2:51 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-11-10 23:50 [PATCH] fix platform_rename_gsi related ia32 build breakage Arnaldo Carvalho de Melo
2004-11-10 23:52 ` Arnaldo Carvalho de Melo
2004-11-11 0:10 ` Arnaldo Carvalho de Melo
2004-11-11 0:18 ` Arnaldo Carvalho de Melo
2004-11-11 0:24 ` Linus Torvalds
2004-11-11 0:29 ` Arnaldo Carvalho de Melo
2004-11-11 22:22 ` Len Brown
2004-11-11 22:30 ` Linus Torvalds
2004-11-11 23:25 ` Len Brown
2004-11-12 0:01 ` Linus Torvalds
2004-11-12 2:50 ` Len Brown [this message]
2004-11-12 3:08 ` Linus Torvalds
2004-11-11 0:20 ` Linus Torvalds
2004-11-11 0:23 ` Arnaldo Carvalho de Melo
2004-11-11 0:38 ` Andrew Morton
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=1100227848.5520.862.camel@d845pe \
--to=len.brown@intel.com \
--cc=Natalie.Protasevich@UNISYS.com \
--cc=acme@conectiva.com.br \
--cc=bjorn.helgaas@hp.com \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@osdl.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