From: Andi Kleen <ak@suse.de>
To: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: "Brown, Len" <len.brown@intel.com>,
"Protasevich, Natalie" <Natalie.Protasevich@unisys.com>,
sergio@sergiomb.no-ip.org,
Kimball Murray <kimball.murray@gmail.com>,
linux-kernel@vger.kernel.org, akpm@digeo.com, kmurray@redhat.com,
linux-acpi@vger.kernel.org
Subject: Re: [(repost) git Patch 1/1] avoid IRQ0 ioapic pin collision
Date: Tue, 2 May 2006 09:11:41 +0200 [thread overview]
Message-ID: <200605020911.41592.ak@suse.de> (raw)
In-Reply-To: <m1d5ewap6w.fsf@ebiederm.dsl.xmission.com>
On Tuesday 02 May 2006 08:57, Eric W. Biederman wrote:
> Andi Kleen <ak@suse.de> writes:
>
> >> >- Modify do_IRQ to get passed an interrupt vector# from the
> >> > interrupt vector instead of an irq number, and then lookup
> >> > the irq number in vector_irq. This means we don't need
> >> > a code stub per irq, and allows us to handle more irqs
> >> > by simply increasing NR_IRQS.
> >>
> >> isn't the vector number already on the stack from
> >> ENTRY(interrupt)
> >> pushl $vector-256
> >
> > Yes - and interrupts/vectors are currently always identical.
>
> No. At best there is a fixed offset. They can't be
> identical because the first 32 vectors are reserved,
> for processor exceptions.
>
> Beyond that the kernel would not need the vector_irq and irq_vector
> arrays if they were always identical, or even if they were one to one.
Yes I should have said it's a fixed offset. Sorry for the confusion.
Just no mapping table needed.
>
> If you look at assign_irq_vector you will see that by default we
> allocate every 8th vector. Looking at the comment in
> init_IO_APIC_traps() this seems to be because we want to avoid
> apic bugs with multiple interrupts of the same priority.
> Although why we skip 8 instead of 16 is beyond me.
Hmm - i guess that's old APIC bugs. Might be worth revisiting
on 64bit.
>
> Although now that I think about it, using some assembler macros
> instead of cpp macros could probably solve the problem more easily
> than generating the stubs at runtime. I think the worst case is
> 256 cpus * 32 irqs per cpu
32 irqs? It's (255-32)
> * 10 bytes per stub = 80K.
My calculations gave >200k which is definitely too much.
-Andi
next prev parent reply other threads:[~2006-05-02 7:11 UTC|newest]
Thread overview: 66+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-05-01 23:21 [(repost) git Patch 1/1] avoid IRQ0 ioapic pin collision Brown, Len
2006-05-01 23:21 ` Brown, Len
2006-05-02 6:14 ` Andi Kleen
2006-05-02 6:57 ` Eric W. Biederman
2006-05-02 7:11 ` Andi Kleen [this message]
2006-05-02 7:39 ` Eric W. Biederman
2006-05-02 6:24 ` Eric W. Biederman
2006-05-02 6:24 ` Eric W. Biederman
-- strict thread matches above, loose matches on Subject: below --
2006-05-09 5:14 Protasevich, Natalie
2006-05-09 5:14 ` Protasevich, Natalie
2006-05-09 4:25 Brown, Len
2006-05-09 4:25 ` Brown, Len
2006-05-09 3:10 Protasevich, Natalie
2006-05-09 3:10 ` Protasevich, Natalie
2006-05-08 21:51 Brown, Len
2006-05-08 21:51 ` Brown, Len
2006-05-08 18:37 Protasevich, Natalie
2006-05-08 18:37 ` Protasevich, Natalie
2006-05-06 6:42 Protasevich, Natalie
2006-05-06 6:42 ` Protasevich, Natalie
2006-05-06 6:18 Brown, Len
2006-05-06 6:18 ` Brown, Len
2006-05-04 16:42 Protasevich, Natalie
2006-05-04 16:42 ` Protasevich, Natalie
2006-05-04 16:04 Brown, Len
2006-05-04 16:04 ` Brown, Len
2006-05-04 22:41 ` Eric W. Biederman
2006-05-04 22:41 ` Eric W. Biederman
2006-05-04 15:33 Brown, Len
2006-05-04 15:33 ` Brown, Len
2006-05-04 5:07 Brown, Len
2006-05-04 5:07 ` Brown, Len
2006-05-04 15:31 ` Eric W. Biederman
2006-05-04 15:31 ` Eric W. Biederman
2006-05-02 23:52 Protasevich, Natalie
2006-05-02 23:52 ` Protasevich, Natalie
2006-05-02 7:41 Brown, Len
2006-05-02 7:41 ` Brown, Len
2006-05-02 7:46 ` Andi Kleen
2006-05-02 8:33 ` Eric W. Biederman
2006-05-02 8:33 ` Eric W. Biederman
2006-04-27 20:36 Protasevich, Natalie
2006-04-27 20:36 ` Protasevich, Natalie
2006-04-30 23:17 ` Eric W. Biederman
2006-04-30 23:17 ` Eric W. Biederman
2006-04-27 19:32 Brown, Len
2006-04-27 19:32 ` Brown, Len
2006-04-27 19:26 Protasevich, Natalie
2006-04-27 19:26 ` Protasevich, Natalie
2006-04-27 19:10 Protasevich, Natalie
2006-04-27 19:10 ` Protasevich, Natalie
2006-04-27 19:13 ` Andi Kleen
2006-04-27 18:13 Brown, Len
2006-04-27 18:13 ` Brown, Len
2006-04-27 18:16 ` Andi Kleen
2006-04-26 14:00 Protasevich, Natalie
2006-04-26 14:00 ` Protasevich, Natalie
2006-04-25 19:53 Brown, Len
2006-04-25 19:53 ` Brown, Len
2006-04-26 12:58 ` Sergio Monteiro Basto
2006-04-26 13:17 ` Andi Kleen
2006-04-26 13:56 ` Kimball Murray
2006-04-26 14:01 ` Kimball Murray
2006-04-25 16:06 Kimball Murray
2006-04-25 16:06 ` Kimball Murray
2006-04-26 11:27 ` Andi Kleen
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=200605020911.41592.ak@suse.de \
--to=ak@suse.de \
--cc=Natalie.Protasevich@unisys.com \
--cc=akpm@digeo.com \
--cc=ebiederm@xmission.com \
--cc=kimball.murray@gmail.com \
--cc=kmurray@redhat.com \
--cc=len.brown@intel.com \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=sergio@sergiomb.no-ip.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.