All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] irq: make sure irq_desc for legacy irq get correct node setting
@ 2009-08-14  1:43 Yinghai Lu
  2009-08-14  1:44 ` [PATCH] irq: add irq_node Yinghai Lu
  0 siblings, 1 reply; 7+ messages in thread
From: Yinghai Lu @ 2009-08-14  1:43 UTC (permalink / raw)
  To: Ingo Molnar, Thomas Gleixner, H. Peter Anvin, Andrew Morton; +Cc: linux-kernel


when there is no ram on node 0

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

---
 kernel/irq/handle.c |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

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] 7+ messages in thread

* [PATCH] irq: add irq_node
  2009-08-14  1:43 [PATCH] irq: make sure irq_desc for legacy irq get correct node setting Yinghai Lu
@ 2009-08-14  1:44 ` Yinghai Lu
  2009-08-14  1:47   ` [PATCH] pci/intr_remapping: allocate irq_iommu on node -v3 Yinghai Lu
  0 siblings, 1 reply; 7+ messages in thread
From: Yinghai Lu @ 2009-08-14  1:44 UTC (permalink / raw)
  To: Ingo Molnar, Thomas Gleixner, H. Peter Anvin, Andrew Morton,
	Jesse Barnes
  Cc: linux-kernel, linux-pci


to return irq_desc node info

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

---
 include/linux/irqnr.h |    6 ++++++
 1 file changed, 6 insertions(+)

Index: linux-2.6/include/linux/irqnr.h
===================================================================
--- linux-2.6.orig/include/linux/irqnr.h
+++ linux-2.6/include/linux/irqnr.h
@@ -41,6 +41,12 @@ extern struct irq_desc *irq_to_desc(unsi
 			;						\
 		else
 
+#ifdef CONFIG_SMP
+#define irq_node(irq)	(irq_to_desc(irq)->node)
+#else
+#define irq_node(irq)	0
+#endif
+
 #endif /* CONFIG_GENERIC_HARDIRQS */
 
 #define for_each_irq_nr(irq)                   \

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

* [PATCH] pci/intr_remapping: allocate irq_iommu on node -v3
  2009-08-14  1:44 ` [PATCH] irq: add irq_node Yinghai Lu
@ 2009-08-14  1:47   ` Yinghai Lu
  2009-08-25 18:48     ` Jesse Barnes
  0 siblings, 1 reply; 7+ messages in thread
From: Yinghai Lu @ 2009-08-14  1:47 UTC (permalink / raw)
  To: Ingo Molnar, Thomas Gleixner, H. Peter Anvin, Andrew Morton,
	Jesse Barnes
  Cc: linux-kernel, linux-pci, Suresh Siddha


make it use node from irq_desc.
v3: use irq_node

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

---
 drivers/pci/intr_remapping.c |   14 +++-----------
 1 file changed, 3 insertions(+), 11 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
@@ -55,15 +55,12 @@ static struct irq_2_iommu *irq_2_iommu(u
 	return desc->irq_2_iommu;
 }
 
-static struct irq_2_iommu *irq_2_iommu_alloc_node(unsigned int irq, int node)
+static struct irq_2_iommu *irq_2_iommu_alloc(unsigned int irq)
 {
 	struct irq_desc *desc;
 	struct irq_2_iommu *irq_iommu;
 
-	/*
-	 * alloc irq desc if not allocated already.
-	 */
-	desc = irq_to_desc_alloc_node(irq, node);
+	desc = irq_to_desc(irq);
 	if (!desc) {
 		printk(KERN_INFO "can not get irq_desc for %d\n", irq);
 		return NULL;
@@ -72,16 +69,11 @@ static struct irq_2_iommu *irq_2_iommu_a
 	irq_iommu = desc->irq_2_iommu;
 
 	if (!irq_iommu)
-		desc->irq_2_iommu = get_one_free_irq_2_iommu(node);
+		desc->irq_2_iommu = get_one_free_irq_2_iommu(irq_node(irq));
 
 	return desc->irq_2_iommu;
 }
 
-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));
-}
-
 #else /* !CONFIG_SPARSE_IRQ */
 
 static struct irq_2_iommu irq_2_iommuX[NR_IRQS];

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

* Re: [PATCH] pci/intr_remapping: allocate irq_iommu on node -v3
  2009-08-14  1:47   ` [PATCH] pci/intr_remapping: allocate irq_iommu on node -v3 Yinghai Lu
@ 2009-08-25 18:48     ` Jesse Barnes
  2009-08-26  7:31       ` Ingo Molnar
  0 siblings, 1 reply; 7+ messages in thread
From: Jesse Barnes @ 2009-08-25 18:48 UTC (permalink / raw)
  To: Yinghai Lu
  Cc: Ingo Molnar, Thomas Gleixner, H. Peter Anvin, Andrew Morton,
	linux-kernel, linux-pci, Suresh Siddha

Ingo, I assume you took these two?

Thanks,
Jesse

On Thu, 13 Aug 2009 18:47:06 -0700
Yinghai Lu <yinghai@kernel.org> wrote:

> 
> make it use node from irq_desc.
> v3: use irq_node
> 
> Signed-off-by: Yinghai Lu <yinghai@kernel.org>
> 
> ---
>  drivers/pci/intr_remapping.c |   14 +++-----------
>  1 file changed, 3 insertions(+), 11 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
> @@ -55,15 +55,12 @@ static struct irq_2_iommu *irq_2_iommu(u
>  	return desc->irq_2_iommu;
>  }
>  
> -static struct irq_2_iommu *irq_2_iommu_alloc_node(unsigned int irq,
> int node) +static struct irq_2_iommu *irq_2_iommu_alloc(unsigned int
> irq) {
>  	struct irq_desc *desc;
>  	struct irq_2_iommu *irq_iommu;
>  
> -	/*
> -	 * alloc irq desc if not allocated already.
> -	 */
> -	desc = irq_to_desc_alloc_node(irq, node);
> +	desc = irq_to_desc(irq);
>  	if (!desc) {
>  		printk(KERN_INFO "can not get irq_desc for %d\n",
> irq); return NULL;
> @@ -72,16 +69,11 @@ static struct irq_2_iommu *irq_2_iommu_a
>  	irq_iommu = desc->irq_2_iommu;
>  
>  	if (!irq_iommu)
> -		desc->irq_2_iommu = get_one_free_irq_2_iommu(node);
> +		desc->irq_2_iommu =
> get_one_free_irq_2_iommu(irq_node(irq)); 
>  	return desc->irq_2_iommu;
>  }
>  
> -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));
> -}
> -
>  #else /* !CONFIG_SPARSE_IRQ */
>  
>  static struct irq_2_iommu irq_2_iommuX[NR_IRQS];
> 


-- 
Jesse Barnes, Intel Open Source Technology Center

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

* Re: [PATCH] pci/intr_remapping: allocate irq_iommu on node -v3
  2009-08-25 18:48     ` Jesse Barnes
@ 2009-08-26  7:31       ` Ingo Molnar
  2009-08-26 16:42         ` Jesse Barnes
  0 siblings, 1 reply; 7+ messages in thread
From: Ingo Molnar @ 2009-08-26  7:31 UTC (permalink / raw)
  To: Jesse Barnes
  Cc: Yinghai Lu, Thomas Gleixner, H. Peter Anvin, Andrew Morton,
	linux-kernel, linux-pci, Suresh Siddha


* Jesse Barnes <jbarnes@virtuousgeek.org> wrote:

> Ingo, I assume you took these two?

not yet - was waiting on noises from you and David. So the series 
looks good to you from a PCI perspective and i can add your 
acked-by? Would go into the IRQ tree.

	Ingo

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

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

On Wed, 26 Aug 2009 09:31:01 +0200
Ingo Molnar <mingo@elte.hu> wrote:

> 
> * Jesse Barnes <jbarnes@virtuousgeek.org> wrote:
> 
> > Ingo, I assume you took these two?
> 
> not yet - was waiting on noises from you and David. So the series 
> looks good to you from a PCI perspective and i can add your 
> acked-by? Would go into the IRQ tree.

Yeah, latest ones look good.

Acked-by: Jesse Barnes <jbarnes@virtuousgeek.org>

-- 
Jesse Barnes, Intel Open Source Technology Center

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

* [PATCH] irq: make sure irq_desc for legacy irq get correct node setting
       [not found] <20090826214323.GC25536@elte.hu>
@ 2009-08-26 23:20 ` Yinghai Lu
  0 siblings, 0 replies; 7+ messages in thread
From: Yinghai Lu @ 2009-08-26 23:20 UTC (permalink / raw)
  To: Ingo Molnar, Jesse Barnes, H. Peter Anvin, Thomas Gleixner, linux-kernel
  Cc: Andrew Morton


when there is no ram on node 0

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

---
 kernel/irq/handle.c |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

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] 7+ messages in thread

end of thread, other threads:[~2009-08-26 23:21 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-08-14  1:43 [PATCH] irq: make sure irq_desc for legacy irq get correct node setting Yinghai Lu
2009-08-14  1:44 ` [PATCH] irq: add irq_node Yinghai Lu
2009-08-14  1:47   ` [PATCH] pci/intr_remapping: allocate irq_iommu on node -v3 Yinghai Lu
2009-08-25 18:48     ` Jesse Barnes
2009-08-26  7:31       ` Ingo Molnar
2009-08-26 16:42         ` Jesse Barnes
     [not found] <20090826214323.GC25536@elte.hu>
2009-08-26 23:20 ` [PATCH] irq: make sure irq_desc for legacy irq get correct node setting Yinghai Lu

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.