From: Yinghai Lu <yinghai@kernel.org>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: Jack Steiner <steiner@sgi.com>,
mingo@elte.hu, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] x86 - irq vector assignment
Date: Tue, 21 Sep 2010 16:12:33 -0700 [thread overview]
Message-ID: <4C993BE1.1020506@kernel.org> (raw)
In-Reply-To: <alpine.LFD.2.00.1009212310410.2416@localhost6.localdomain6>
On 09/21/2010 02:34 PM, Thomas Gleixner wrote:
> On Tue, 21 Sep 2010, Yinghai Lu wrote:
>>> arch/x86/kernel/apic/io_apic.c | 5 +++++
>>> 1 file changed, 5 insertions(+)
>>>
>>> Index: linux/arch/x86/kernel/apic/io_apic.c
>>> ===================================================================
>>> --- linux.orig/arch/x86/kernel/apic/io_apic.c 2010-09-17 13:00:19.164638447 -0500
>>> +++ linux/arch/x86/kernel/apic/io_apic.c 2010-09-17 13:00:23.448595373 -0500
>>> @@ -3253,6 +3253,11 @@ unsigned int create_irq_nr(unsigned int
>>> desc_new = move_irq_desc(desc_new, node);
>>> cfg_new = desc_new->chip_data;
>>>
>>> +#ifdef CONFIG_NUMA
>>> + if (node >= 0 && __assign_irq_vector(new, cfg_new, node_to_cpumask_map[node]) == 0)
>>> + irq = new;
>>> + else
>>> +#endif
>>> if (__assign_irq_vector(new, cfg_new, apic->target_cpus()) == 0)
>>> irq = new;
>>> break;
>>
>> target_cpus() for uv_x and x2apic phys mode all have cpu_online_mask()
>>
>> so we should get the vector for other cpus. aka __assign_irq_vector()
>> should not fail. unless you have so many irq > nr_irqs.
>
> Did you even read the changelog ? It's not about "should".
>
> All CPU0 vectors are assigned already just because the current code
> takes the first cpu in the target_cpus mask regardless of the node on
> which the irq_desc is allocated. That's crap. Why do we allocate
> irq_desc on node and leave the vector assigned to node(cpu0) ?
ok, i got it. vectors from cpus on node0 are used by devices from others nodes.
later devices from node0 can not get vector from node0.
Yinghai
next prev parent reply other threads:[~2010-09-21 23:14 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-09-21 20:05 [PATCH] x86 - irq vector assignment Jack Steiner
2010-09-21 20:41 ` Yinghai Lu
2010-09-21 21:34 ` Thomas Gleixner
2010-09-21 23:12 ` Yinghai Lu [this message]
2010-09-21 23:53 ` Jack Steiner
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=4C993BE1.1020506@kernel.org \
--to=yinghai@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=steiner@sgi.com \
--cc=tglx@linutronix.de \
/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