All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] pci/intr_remapping: allocate irq_iommu on node
@ 2009-08-04 16:04 Yinghai Lu
  2009-08-04 17:19 ` Suresh Siddha
  2009-08-08 15:22 ` [tip:irq/core] pci/intr_remapping: Allocate " tip-bot for Yinghai Lu
  0 siblings, 2 replies; 11+ messages in thread
From: Yinghai Lu @ 2009-08-04 16:04 UTC (permalink / raw)
  To: Ingo Molnar, Thomas Gleixner, H. Peter Anvin, Jesse Barnes,
	Suresh Siddha
  Cc: linux-kernel, linux-pci


make it use node from irq_desc.

Signed-off-by: Yinghai Lu <yinghai@kernel.org>

---
 drivers/pci/intr_remapping.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Index: linux-2.6/drivers/pci/intr_remapping.c
===================================================================
--- linux-2.6.orig/drivers/pci/intr_remapping.c
+++ linux-2.6/drivers/pci/intr_remapping.c
@@ -201,7 +201,7 @@ int alloc_irte(struct intel_iommu *iommu
 	for (i = index; i < index + count; i++)
 		table->base[i].present = 1;
 
-	irq_iommu = irq_2_iommu_alloc(irq);
+	irq_iommu = irq_2_iommu_alloc_node(irq, irq_to_desc(irq)->node);
 	if (!irq_iommu) {
 		spin_unlock_irqrestore(&irq_2_ir_lock, flags);
 		printk(KERN_ERR "can't allocate irq_2_iommu\n");
@@ -255,7 +255,7 @@ int set_irte_irq(int irq, struct intel_i
 
 	spin_lock_irqsave(&irq_2_ir_lock, flags);
 
-	irq_iommu = irq_2_iommu_alloc(irq);
+	irq_iommu = irq_2_iommu_alloc_node(irq, irq_to_desc(irq)->node);
 
 	if (!irq_iommu) {
 		spin_unlock_irqrestore(&irq_2_ir_lock, flags);

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] pci/intr_remapping: allocate irq_iommu on node
  2009-08-04 16:04 [PATCH] pci/intr_remapping: allocate irq_iommu on node Yinghai Lu
@ 2009-08-04 17:19 ` Suresh Siddha
  2009-08-05  9:14   ` Yinghai Lu
  2009-08-08 15:22 ` [tip:irq/core] pci/intr_remapping: Allocate " tip-bot for Yinghai Lu
  1 sibling, 1 reply; 11+ messages in thread
From: Suresh Siddha @ 2009-08-04 17:19 UTC (permalink / raw)
  To: Yinghai Lu
  Cc: Ingo Molnar, Thomas Gleixner, H. Peter Anvin, Jesse Barnes,
	linux-kernel, linux-pci

On Tue, 2009-08-04 at 09:04 -0700, Yinghai Lu wrote:
> make it use node from irq_desc.
> 
> Signed-off-by: Yinghai Lu <yinghai@kernel.org>
> 
> ---
>  drivers/pci/intr_remapping.c |    4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> Index: linux-2.6/drivers/pci/intr_remapping.c
> ===================================================================
> --- linux-2.6.orig/drivers/pci/intr_remapping.c
> +++ linux-2.6/drivers/pci/intr_remapping.c
> @@ -201,7 +201,7 @@ int alloc_irte(struct intel_iommu *iommu
>  	for (i = index; i < index + count; i++)
>  		table->base[i].present = 1;
>  
> -	irq_iommu = irq_2_iommu_alloc(irq);
> +	irq_iommu = irq_2_iommu_alloc_node(irq, irq_to_desc(irq)->node);

As far as I can see, this node will always be boot_cpu_id's node. We
allocate the IRTE at the time of the create_irq() and at that time,
desc->node will always be of the boot_cpu_id's.

Can you please elaborate when this node will be different to make this
an effective patch?

thanks,
suresh


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] pci/intr_remapping: allocate irq_iommu on node
  2009-08-04 17:19 ` Suresh Siddha
@ 2009-08-05  9:14   ` Yinghai Lu
  2009-08-06  0:36     ` Suresh Siddha
  0 siblings, 1 reply; 11+ messages in thread
From: Yinghai Lu @ 2009-08-05  9:14 UTC (permalink / raw)
  To: suresh.b.siddha
  Cc: Ingo Molnar, Thomas Gleixner, H. Peter Anvin, Jesse Barnes,
	linux-kernel, linux-pci

Suresh Siddha wrote:
> On Tue, 2009-08-04 at 09:04 -0700, Yinghai Lu wrote:
>> make it use node from irq_desc.
>>
>> Signed-off-by: Yinghai Lu <yinghai@kernel.org>
>>
>> ---
>>  drivers/pci/intr_remapping.c |    4 ++--
>>  1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> Index: linux-2.6/drivers/pci/intr_remapping.c
>> ===================================================================
>> --- linux-2.6.orig/drivers/pci/intr_remapping.c
>> +++ linux-2.6/drivers/pci/intr_remapping.c
>> @@ -201,7 +201,7 @@ int alloc_irte(struct intel_iommu *iommu
>>  	for (i = index; i < index + count; i++)
>>  		table->base[i].present = 1;
>>  
>> -	irq_iommu = irq_2_iommu_alloc(irq);
>> +	irq_iommu = irq_2_iommu_alloc_node(irq, irq_to_desc(irq)->node);
> 
> As far as I can see, this node will always be boot_cpu_id's node. We
> allocate the IRTE at the time of the create_irq() and at that time,
> desc->node will always be of the boot_cpu_id's.
> 
> Can you please elaborate when this node will be different to make this
> an effective patch?

without this patch

[  299.175436] igbvf 0000:41:10.0: enabling device (0000 -> 0002)
[  299.180009] igbvf 0000:41:10.0: using 64bit DMA mask
[  299.183077] igbvf 0000:41:10.0: using 64bit consistent DMA mask
[  299.199870] igbvf 0000:41:10.0: enabling bus mastering
[  299.205534] igbvf 0000:41:10.0: setting latency timer to 64
[  299.219654] reserve_memtype added 0xcfc00000-0xcfc04000, track uncached-minus, req uncached-minus, ret uncached-minus
[  299.239615] reserve_memtype added 0xcfc20000-0xcfc21000, track uncached-minus, req uncached-minus, ret uncached-minus
[  299.260181]   alloc irq_desc for 217 on node 2
[  299.263501]   alloc kstat_irqs on node 2
[  299.276276] alloc irq_2_iommu on node 0
[  299.281847] igbvf 0000:41:10.0: irq 217 for MSI/MSI-X
[  299.285511]   alloc irq_desc for 218 on node 2
[  299.297813]   alloc kstat_irqs on node 2
[  299.302543] alloc irq_2_iommu on node 0
[  299.315358] igbvf 0000:41:10.0: irq 218 for MSI/MSI-X
[  299.321102]   alloc irq_desc for 219 on node 2
[  299.325932]   alloc kstat_irqs on node 2
[  299.338616] alloc irq_2_iommu on node 0
[  299.340789] igbvf 0000:41:10.0: irq 219 for MSI/MSI-X
[  299.356532] igbvf 0000:41:10.0: PF still in reset state, assigning new address
[  299.365128] igbvf 0000:41:10.0: PF still resetting
[  299.377625] igbvf 0000:41:10.0: Intel(R) 82576 Virtual Function
[  299.385619] igbvf 0000:41:10.0: Address: c6:e3:de:62:de:eb
[  299.395957] igbvf 0000:41:10.0: MAC: 1

thought we could put irq_2_iommu to same node too.

YH

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] pci/intr_remapping: allocate irq_iommu on node
  2009-08-05  9:14   ` Yinghai Lu
@ 2009-08-06  0:36     ` Suresh Siddha
  2009-08-06  1:19       ` Yinghai Lu
  0 siblings, 1 reply; 11+ messages in thread
From: Suresh Siddha @ 2009-08-06  0:36 UTC (permalink / raw)
  To: Yinghai Lu
  Cc: Ingo Molnar, Thomas Gleixner, H. Peter Anvin, Jesse Barnes,
	linux-kernel, linux-pci

On Wed, 2009-08-05 at 02:14 -0700, Yinghai Lu wrote:
> without this patch
> 
> [  299.175436] igbvf 0000:41:10.0: enabling device (0000 -> 0002)
> [  299.180009] igbvf 0000:41:10.0: using 64bit DMA mask
> [  299.183077] igbvf 0000:41:10.0: using 64bit consistent DMA mask
> [  299.199870] igbvf 0000:41:10.0: enabling bus mastering
> [  299.205534] igbvf 0000:41:10.0: setting latency timer to 64
> [  299.219654] reserve_memtype added 0xcfc00000-0xcfc04000, track uncached-minus, req uncached-minus, ret uncached-minus
> [  299.239615] reserve_memtype added 0xcfc20000-0xcfc21000, track uncached-minus, req uncached-minus, ret uncached-minus
> [  299.260181]   alloc irq_desc for 217 on node 2
> [  299.263501]   alloc kstat_irqs on node 2
> [  299.276276] alloc irq_2_iommu on node 0
> [  299.281847] igbvf 0000:41:10.0: irq 217 for MSI/MSI-X
> [  299.285511]   alloc irq_desc for 218 on node 2
> [  299.297813]   alloc kstat_irqs on node 2
> [  299.302543] alloc irq_2_iommu on node 0
> [  299.315358] igbvf 0000:41:10.0: irq 218 for MSI/MSI-X
> [  299.321102]   alloc irq_desc for 219 on node 2
> [  299.325932]   alloc kstat_irqs on node 2
> [  299.338616] alloc irq_2_iommu on node 0
> [  299.340789] igbvf 0000:41:10.0: irq 219 for MSI/MSI-X
> [  299.356532] igbvf 0000:41:10.0: PF still in reset state, assigning new address
> [  299.365128] igbvf 0000:41:10.0: PF still resetting
> [  299.377625] igbvf 0000:41:10.0: Intel(R) 82576 Virtual Function
> [  299.385619] igbvf 0000:41:10.0: Address: c6:e3:de:62:de:eb
> [  299.395957] igbvf 0000:41:10.0: MAC: 1
> 
> thought we could put irq_2_iommu to same node too.

Yinghai, even with this patch, we will still be allocating from node-0.
No?


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] pci/intr_remapping: allocate irq_iommu on node
  2009-08-06  0:36     ` Suresh Siddha
@ 2009-08-06  1:19       ` Yinghai Lu
  2009-08-06 19:16         ` Suresh Siddha
  0 siblings, 1 reply; 11+ messages in thread
From: Yinghai Lu @ 2009-08-06  1:19 UTC (permalink / raw)
  To: suresh.b.siddha
  Cc: Ingo Molnar, Thomas Gleixner, H. Peter Anvin, Jesse Barnes,
	linux-kernel, linux-pci

Suresh Siddha wrote:
> On Wed, 2009-08-05 at 02:14 -0700, Yinghai Lu wrote:
>> without this patch
>>
>> [  299.175436] igbvf 0000:41:10.0: enabling device (0000 -> 0002)
>> [  299.180009] igbvf 0000:41:10.0: using 64bit DMA mask
>> [  299.183077] igbvf 0000:41:10.0: using 64bit consistent DMA mask
>> [  299.199870] igbvf 0000:41:10.0: enabling bus mastering
>> [  299.205534] igbvf 0000:41:10.0: setting latency timer to 64
>> [  299.219654] reserve_memtype added 0xcfc00000-0xcfc04000, track uncached-minus, req uncached-minus, ret uncached-minus
>> [  299.239615] reserve_memtype added 0xcfc20000-0xcfc21000, track uncached-minus, req uncached-minus, ret uncached-minus
>> [  299.260181]   alloc irq_desc for 217 on node 2
>> [  299.263501]   alloc kstat_irqs on node 2
>> [  299.276276] alloc irq_2_iommu on node 0
>> [  299.281847] igbvf 0000:41:10.0: irq 217 for MSI/MSI-X
>> [  299.285511]   alloc irq_desc for 218 on node 2
>> [  299.297813]   alloc kstat_irqs on node 2
>> [  299.302543] alloc irq_2_iommu on node 0
>> [  299.315358] igbvf 0000:41:10.0: irq 218 for MSI/MSI-X
>> [  299.321102]   alloc irq_desc for 219 on node 2
>> [  299.325932]   alloc kstat_irqs on node 2
>> [  299.338616] alloc irq_2_iommu on node 0
>> [  299.340789] igbvf 0000:41:10.0: irq 219 for MSI/MSI-X
>> [  299.356532] igbvf 0000:41:10.0: PF still in reset state, assigning new address
>> [  299.365128] igbvf 0000:41:10.0: PF still resetting
>> [  299.377625] igbvf 0000:41:10.0: Intel(R) 82576 Virtual Function
>> [  299.385619] igbvf 0000:41:10.0: Address: c6:e3:de:62:de:eb
>> [  299.395957] igbvf 0000:41:10.0: MAC: 1
>>
>> thought we could put irq_2_iommu to same node too.
> 
> Yinghai, even with this patch, we will still be allocating from node-0.
> No?

with this patch will get 
alloc irq_2_iommu on node 2

YH

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] pci/intr_remapping: allocate irq_iommu on node
  2009-08-06  1:19       ` Yinghai Lu
@ 2009-08-06 19:16         ` Suresh Siddha
  0 siblings, 0 replies; 11+ messages in thread
From: Suresh Siddha @ 2009-08-06 19:16 UTC (permalink / raw)
  To: Yinghai Lu
  Cc: Ingo Molnar, Thomas Gleixner, H. Peter Anvin, Jesse Barnes,
	linux-kernel, linux-pci

On Wed, 2009-08-05 at 18:19 -0700, Yinghai Lu wrote:
> Suresh Siddha wrote:
> > 
> > Yinghai, even with this patch, we will still be allocating from node-0.
> > No?
> 
> with this patch will get 
> alloc irq_2_iommu on node 2

Looking closer, I missed the fact that we are now using the
create_irq_nr() which has the node information.

Acked-by: Suresh Siddha <suresh.b.siddha@intel.com>

Thanks.


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [tip:irq/core] pci/intr_remapping: Allocate irq_iommu on node
  2009-08-04 16:04 [PATCH] pci/intr_remapping: allocate irq_iommu on node Yinghai Lu
  2009-08-04 17:19 ` Suresh Siddha
@ 2009-08-08 15:22 ` tip-bot for Yinghai Lu
  2009-08-09 10:44   ` Ingo Molnar
  1 sibling, 1 reply; 11+ messages in thread
From: tip-bot for Yinghai Lu @ 2009-08-08 15:22 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: linux-kernel, hpa, mingo, yinghai, jbarnes, suresh.b.siddha, tglx, mingo

Commit-ID:  94fb9a6b49d3a63831c4e752f6f0ab8da0a99eb5
Gitweb:     http://git.kernel.org/tip/94fb9a6b49d3a63831c4e752f6f0ab8da0a99eb5
Author:     Yinghai Lu <yinghai@kernel.org>
AuthorDate: Tue, 4 Aug 2009 09:04:39 -0700
Committer:  Ingo Molnar <mingo@elte.hu>
CommitDate: Sat, 8 Aug 2009 17:07:37 +0200

pci/intr_remapping: Allocate irq_iommu on node

Make it use node from irq_desc - this results in more
optimal memory layout.

Signed-off-by: Yinghai Lu <yinghai@kernel.org>
Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
Acked-by: Suresh Siddha <suresh.b.siddha@intel.com>
LKML-Reference: <4A785C17.3030104@kernel.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>


---
 drivers/pci/intr_remapping.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/pci/intr_remapping.c b/drivers/pci/intr_remapping.c
index 4f5b871..e27a28c 100644
--- a/drivers/pci/intr_remapping.c
+++ b/drivers/pci/intr_remapping.c
@@ -201,7 +201,7 @@ int alloc_irte(struct intel_iommu *iommu, int irq, u16 count)
 	for (i = index; i < index + count; i++)
 		table->base[i].present = 1;
 
-	irq_iommu = irq_2_iommu_alloc(irq);
+	irq_iommu = irq_2_iommu_alloc_node(irq, irq_to_desc(irq)->node);
 	if (!irq_iommu) {
 		spin_unlock_irqrestore(&irq_2_ir_lock, flags);
 		printk(KERN_ERR "can't allocate irq_2_iommu\n");
@@ -255,7 +255,7 @@ int set_irte_irq(int irq, struct intel_iommu *iommu, u16 index, u16 subhandle)
 
 	spin_lock_irqsave(&irq_2_ir_lock, flags);
 
-	irq_iommu = irq_2_iommu_alloc(irq);
+	irq_iommu = irq_2_iommu_alloc_node(irq, irq_to_desc(irq)->node);
 
 	if (!irq_iommu) {
 		spin_unlock_irqrestore(&irq_2_ir_lock, flags);

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* Re: [tip:irq/core] pci/intr_remapping: Allocate irq_iommu on node
  2009-08-08 15:22 ` [tip:irq/core] pci/intr_remapping: Allocate " tip-bot for Yinghai Lu
@ 2009-08-09 10:44   ` Ingo Molnar
  2009-08-10 16:29     ` Jesse Barnes
  0 siblings, 1 reply; 11+ messages in thread
From: Ingo Molnar @ 2009-08-09 10:44 UTC (permalink / raw)
  To: mingo, hpa, linux-kernel, yinghai, jbarnes, suresh.b.siddha, tglx
  Cc: linux-tip-commits


* tip-bot for Yinghai Lu <yinghai@kernel.org> wrote:

> Commit-ID:  94fb9a6b49d3a63831c4e752f6f0ab8da0a99eb5
> Gitweb:     http://git.kernel.org/tip/94fb9a6b49d3a63831c4e752f6f0ab8da0a99eb5
> Author:     Yinghai Lu <yinghai@kernel.org>
> AuthorDate: Tue, 4 Aug 2009 09:04:39 -0700
> Committer:  Ingo Molnar <mingo@elte.hu>
> CommitDate: Sat, 8 Aug 2009 17:07:37 +0200
> 
> pci/intr_remapping: Allocate irq_iommu on node

-tip testing found that this patch broke the x86 build:

drivers/pci/intr_remapping.c: In function ‘alloc_irte’:
drivers/pci/intr_remapping.c:204: error: ‘struct irq_desc’ has no member named ‘node’
drivers/pci/intr_remapping.c: In function ‘set_irte_irq’:
drivers/pci/intr_remapping.c:258: error: ‘struct irq_desc’ has no member named ‘node’

	Ingo

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [tip:irq/core] pci/intr_remapping: Allocate irq_iommu on node
  2009-08-09 10:44   ` Ingo Molnar
@ 2009-08-10 16:29     ` Jesse Barnes
  2009-08-11  3:17       ` [PATCH] pci/intr_remapping: allocate irq_iommu on node -v2 Yinghai Lu
  0 siblings, 1 reply; 11+ messages in thread
From: Jesse Barnes @ 2009-08-10 16:29 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: mingo, hpa, linux-kernel, yinghai, suresh.b.siddha, tglx,
	linux-tip-commits

On Sun, 9 Aug 2009 12:44:00 +0200
Ingo Molnar <mingo@elte.hu> wrote:

> 
> * tip-bot for Yinghai Lu <yinghai@kernel.org> wrote:
> 
> > Commit-ID:  94fb9a6b49d3a63831c4e752f6f0ab8da0a99eb5
> > Gitweb:
> > http://git.kernel.org/tip/94fb9a6b49d3a63831c4e752f6f0ab8da0a99eb5
> > Author:     Yinghai Lu <yinghai@kernel.org> AuthorDate: Tue, 4 Aug
> > 2009 09:04:39 -0700 Committer:  Ingo Molnar <mingo@elte.hu>
> > CommitDate: Sat, 8 Aug 2009 17:07:37 +0200
> > 
> > pci/intr_remapping: Allocate irq_iommu on node
> 
> -tip testing found that this patch broke the x86 build:
> 
> drivers/pci/intr_remapping.c: In function ‘alloc_irte’:
> drivers/pci/intr_remapping.c:204: error: ‘struct irq_desc’ has no
> member named ‘node’ drivers/pci/intr_remapping.c: In function
> ‘set_irte_irq’: drivers/pci/intr_remapping.c:258: error: ‘struct
> irq_desc’ has no member named ‘node’

Looks like we need a wrapper function for this with proper CONFIG_NUMA
checks...  I'll apply it to my linux-next tree when someone sends me a
new version.

Thanks,
-- 
Jesse Barnes, Intel Open Source Technology Center

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH] pci/intr_remapping: allocate irq_iommu on node -v2
  2009-08-10 16:29     ` Jesse Barnes
@ 2009-08-11  3:17       ` Yinghai Lu
  2009-08-11  7:34         ` Ingo Molnar
  0 siblings, 1 reply; 11+ messages in thread
From: Yinghai Lu @ 2009-08-11  3:17 UTC (permalink / raw)
  To: Jesse Barnes, Ingo Molnar, mingo, hpa, suresh.b.siddha, tglx
  Cc: linux-kernel, linux-pci


make it use node from irq_desc.

also need to make sure legacy irq node is right, when there is no ram on node 0

Signed-off-by: Yinghai Lu <yinghai@kernel.org>

---
 drivers/pci/intr_remapping.c |   10 +++++++++-
 kernel/irq/handle.c          |    5 ++++-
 2 files changed, 13 insertions(+), 2 deletions(-)

Index: linux-2.6/drivers/pci/intr_remapping.c
===================================================================
--- linux-2.6.orig/drivers/pci/intr_remapping.c
+++ linux-2.6/drivers/pci/intr_remapping.c
@@ -79,7 +79,15 @@ static struct irq_2_iommu *irq_2_iommu_a
 
 static struct irq_2_iommu *irq_2_iommu_alloc(unsigned int irq)
 {
-	return irq_2_iommu_alloc_node(irq, cpu_to_node(boot_cpu_id));
+	int node;
+
+#ifdef CONFIG_SMP
+	node = irq_to_desc(irq)->node;
+#else
+	node = cpu_to_node(boot_cpu_id);
+#endif
+
+	return irq_2_iommu_alloc_node(irq, node);
 }
 
 #else /* !CONFIG_SPARSE_IRQ */
Index: linux-2.6/kernel/irq/handle.c
===================================================================
--- linux-2.6.orig/kernel/irq/handle.c
+++ linux-2.6/kernel/irq/handle.c
@@ -161,7 +161,7 @@ int __init early_irq_init(void)
 
 	desc = irq_desc_legacy;
 	legacy_count = ARRAY_SIZE(irq_desc_legacy);
- 	node = first_online_node;
+	node = first_online_node;
 
 	/* allocate irq_desc_ptrs array based on nr_irqs */
 	irq_desc_ptrs = kcalloc(nr_irqs, sizeof(void *), GFP_NOWAIT);
@@ -172,6 +172,9 @@ int __init early_irq_init(void)
 
 	for (i = 0; i < legacy_count; i++) {
 		desc[i].irq = i;
+#ifdef CONFIG_SMP
+		desc[i].node = node;
+#endif
 		desc[i].kstat_irqs = kstat_irqs_legacy + i * nr_cpu_ids;
 		lockdep_set_class(&desc[i].lock, &irq_desc_lock_class);
 		alloc_desc_masks(&desc[i], node, true);

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] pci/intr_remapping: allocate irq_iommu on node -v2
  2009-08-11  3:17       ` [PATCH] pci/intr_remapping: allocate irq_iommu on node -v2 Yinghai Lu
@ 2009-08-11  7:34         ` Ingo Molnar
  0 siblings, 0 replies; 11+ messages in thread
From: Ingo Molnar @ 2009-08-11  7:34 UTC (permalink / raw)
  To: Yinghai Lu
  Cc: Jesse Barnes, mingo, hpa, suresh.b.siddha, tglx, linux-kernel, linux-pci


* Yinghai Lu <yinghai@kernel.org> wrote:

>  static struct irq_2_iommu *irq_2_iommu_alloc(unsigned int irq)
>  {
> -	return irq_2_iommu_alloc_node(irq, cpu_to_node(boot_cpu_id));
> +	int node;
> +
> +#ifdef CONFIG_SMP
> +	node = irq_to_desc(irq)->node;
> +#else
> +	node = cpu_to_node(boot_cpu_id);
> +#endif
> +
> +	return irq_2_iommu_alloc_node(irq, node);
>  }

To avoid the ifdef, shouldnt there be an new irq_node(irq) primitive 
that maps to desc->node on SMP and does the right thing on UP?

	Ingo

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2009-08-11 13:25 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-08-04 16:04 [PATCH] pci/intr_remapping: allocate irq_iommu on node Yinghai Lu
2009-08-04 17:19 ` Suresh Siddha
2009-08-05  9:14   ` Yinghai Lu
2009-08-06  0:36     ` Suresh Siddha
2009-08-06  1:19       ` Yinghai Lu
2009-08-06 19:16         ` Suresh Siddha
2009-08-08 15:22 ` [tip:irq/core] pci/intr_remapping: Allocate " tip-bot for Yinghai Lu
2009-08-09 10:44   ` Ingo Molnar
2009-08-10 16:29     ` Jesse Barnes
2009-08-11  3:17       ` [PATCH] pci/intr_remapping: allocate irq_iommu on node -v2 Yinghai Lu
2009-08-11  7:34         ` Ingo Molnar

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.