From: Dean Nelson <dcn@sgi.com>
To: Ingo Molnar <mingo@elte.hu>
Cc: linux-kernel@vger.kernel.org
Subject: sgi-gru drivers need of up to 8192 irqs
Date: Wed, 12 Nov 2008 12:31:13 -0600 [thread overview]
Message-ID: <20081112183113.GA2488@sgi.com> (raw)
In-Reply-To: <20081003085943.GC27551@elte.hu>
Hi Ingo,
You may remember a patch that I submitted not so long ago that added
uv_setup_irq() and uv_teardown_irq() functions for UV on x86.
It gave us (SGI) a way to 'allocate' an irq/vector pair and write an MMR
with a CPU's APCID and the vector number. (Two functions were added to
/arch/x86/kernel/io_apic.c to accomplish this -- arch_enable_uv_irq() and
arch_disable_uv_irq().)
This solution was what was suggested by the community after much discussion.
I'm now trying to modify the GRU driver to call uv_setup_irq(). One of the
issues that is arising is that we need to be able to allocate lots of irqs.
For the GRU alone we need up to 32 irqs per blade (based on the number of CPUs)
and there can be up to 256 blades per SSI. (A total of 8192 irqs per SSI.)
Currently I'm finding that NR_IRQS=4352. (It is constrained to the lesser of
NR_CPUS and MAX_IO_APICS.) But the system really runs off of nr_irqs which
gets set down by probe_nr_irqs() to 96 in one configuration I've been running.
This function bases its answer on io_apic_get_redir_entries().
For the GRU there isn't an io_apic component, its needs are based on NR_CPUS.
So there isn't something readily available to cause probe_nr_irqs() to
generate a larger number.
Anyway, I'm looking for any suggestions as to what we should do. (Which may
include abandoning the using of irqs for the GRU driver and just go with two
hardwired system vectors?
Also, what has happened to the sparse irq patch? It doesn't seem to exist
anywhere. Has it been abandoned? I thought it was the means by which we would
be able to have huge numbers of irqs.
Thanks,
Dean
next prev parent reply other threads:[~2008-11-12 18:31 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-10-01 11:44 [PATCH] x86, UV: add uv_setup_irq() and uv_teardown_irq() functions Dean Nelson
2008-10-02 8:42 ` Ingo Molnar
2008-10-02 11:45 ` [PATCH] x86, UV: add uv_setup_irq() and uv_teardown_irq() functions v.2 Dean Nelson
2008-10-02 16:19 ` [PATCH] x86, UV: add uv_setup_irq() and uv_teardown_irq() functions Yinghai Lu
2008-10-02 16:44 ` H. Peter Anvin
2008-10-02 17:18 ` [PATCH] x86, UV: add uv_setup_irq() and uv_teardown_irq() functions v.3 Dean Nelson
2008-10-03 8:59 ` Ingo Molnar
2008-10-03 9:40 ` x86, UV: add uv_setup_irq() and uv_teardown_irq() functions, v3, fix Ingo Molnar
2008-11-12 18:31 ` Dean Nelson [this message]
2008-11-12 18:46 ` sgi-gru drivers need of up to 8192 irqs Ingo Molnar
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=20081112183113.GA2488@sgi.com \
--to=dcn@sgi.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
/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.