From: "H. Peter Anvin" <hpa@zytor.com>
To: "Maciej W. Rozycki" <macro@linux-mips.org>
Cc: Suresh Siddha <suresh.b.siddha@intel.com>,
ebiederm@xmission.com, yinghai@kernel.org, mingo@elte.hu,
linux-kernel@vger.kernel.org
Subject: Re: [patch 2/2] x86, irq: use 0x20 for the IRQ_MOVE_CLEANUP_VECTOR instead of 0x1f
Date: Sun, 24 Jan 2010 00:12:27 -0800 [thread overview]
Message-ID: <4B5C00EB.3000208@zytor.com> (raw)
In-Reply-To: <alpine.LFD.2.00.1001240545180.13034@eddie.linux-mips.org>
On 01/23/2010 09:52 PM, Maciej W. Rozycki wrote:
> On Wed, 13 Jan 2010, Suresh Siddha wrote:
>
>> After talking to some more folks inside intel (Peter Anvin, Asit Mallick),
>> the safest option (for future compatibility etc) seen was to use vector 0x20
>> for IRQ_MOVE_CLEANUP_VECTOR instead of using vector 0x1f (which is documented as
>> reserved vector in the Intel IA32 manuals).
>>
>> Also we don't need to reserve the entire privilege level (all 16 vectors in
>> the priority bucket that IRQ_MOVE_CLEANUP_VECTOR falls into), as the
>> x86 architecture (section 10.9.3 in SDM Vol3a) specifies that with in the
>> priority level, the higher the vector number the higher the priority.
>> And hence we don't need to reserve the complete priority level 0x20-0x2f for
>> the IRQ migration cleanup logic.
>>
>> So change the IRQ_MOVE_CLEANUP_VECTOR to 0x20 and allow 0x21-0x2f to be used
>> for device interrupts. 0x30-0x3f will be used for ISA interrupts (these
>> also can be migrated in the context of IOAPIC and hence need to be at a higher
>> priority level than IRQ_MOVE_CLEANUP_VECTOR).
>
> I have troubles understanding what exactly this change is needed for
> (i.e. what's the difference between using vectors 0x20-0x2f and 0x30-0x3f
> as ExtINT interrupts, what's the gain from relocating them? -- they are
> transparent to the APIC, so the exact priority level used does not matter
> at all), but since I've been cc-ed, I have one question -- have you
> verified that with the new arrangement the mixed interrupt mode (where
> some interrupts come via the APIC and some via the 8259A PICs) still
> works?
>
The difference is relevant when they are *not* invoked as ExtInt
interrupts, but when used as IOAPIC interrupts it matters.
-hpa
next prev parent reply other threads:[~2010-01-24 8:13 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-01-14 0:19 [patch 1/2] x86, vmi: Fix vmi_get_timer_vector() to use IRQ0_VECTOR Suresh Siddha
2010-01-14 0:19 ` [patch 2/2] x86, irq: use 0x20 for the IRQ_MOVE_CLEANUP_VECTOR instead of 0x1f Suresh Siddha
2010-01-18 19:36 ` [tip:x86/apic] x86, irq: Use " tip-bot for Suresh Siddha
2010-01-24 5:52 ` [patch 2/2] x86, irq: use " Maciej W. Rozycki
2010-01-24 8:12 ` H. Peter Anvin [this message]
2010-01-31 7:19 ` Maciej W. Rozycki
2010-02-01 21:24 ` Suresh Siddha
2010-02-01 21:49 ` H. Peter Anvin
2010-02-21 5:20 ` Maciej W. Rozycki
2010-02-21 5:37 ` H. Peter Anvin
2010-02-21 14:09 ` Alan Cox
2010-01-18 19:36 ` [tip:x86/apic] x86, vmi: Fix vmi_get_timer_vector() to use IRQ0_VECTOR tip-bot for Suresh Siddha
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=4B5C00EB.3000208@zytor.com \
--to=hpa@zytor.com \
--cc=ebiederm@xmission.com \
--cc=linux-kernel@vger.kernel.org \
--cc=macro@linux-mips.org \
--cc=mingo@elte.hu \
--cc=suresh.b.siddha@intel.com \
--cc=yinghai@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.