stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v5 09/33] ia64, irq: Add dummy create_irq_nr()
       [not found] <1388707565-16535-1-git-send-email-yinghai@kernel.org>
@ 2014-01-03  0:05 ` Yinghai Lu
  2014-01-03  0:05 ` [PATCH v5 10/33] iommu, irq: Allocate irq_desc for dmar_msi with local node Yinghai Lu
  1 sibling, 0 replies; 8+ messages in thread
From: Yinghai Lu @ 2014-01-03  0:05 UTC (permalink / raw)
  To: Thomas Gleixner, Ingo Molnar, H. Peter Anvin, Tony Luck,
	Bjorn Helgaas, Rafael J. Wysocki
  Cc: linux-pci, linux-kernel, linux-acpi, Yinghai Lu, Fenghua Yu,
	linux-ia64, stable

create_irq() will return -1 when fail to allocate.
create_irq_nr() will return 0 when fail to allocate.

Will use it to fix one return value checking for dmar_msi irq.

Signed-off-by: Yinghai Lu <yinghai@kernel.org>
Cc: Fenghua Yu <fenghua.yu@intel.com>
Cc: linux-ia64@vger.kernel.org
Cc: stable@vger.kernel.org
---
 arch/ia64/kernel/irq_ia64.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/arch/ia64/kernel/irq_ia64.c b/arch/ia64/kernel/irq_ia64.c
index 1034884..38e46df 100644
--- a/arch/ia64/kernel/irq_ia64.c
+++ b/arch/ia64/kernel/irq_ia64.c
@@ -429,6 +429,16 @@ int create_irq(void)
 	return irq;
 }
 
+unsigned int create_irq_nr(unsigned int from, int node)
+{
+	int irq = create_irq();
+
+	if (irq < 0)
+		irq = 0;
+
+	return irq;
+}
+
 void destroy_irq(unsigned int irq)
 {
 	dynamic_irq_cleanup(irq);
-- 
1.8.4


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

* [PATCH v5 10/33] iommu, irq: Allocate irq_desc for dmar_msi with local node
       [not found] <1388707565-16535-1-git-send-email-yinghai@kernel.org>
  2014-01-03  0:05 ` [PATCH v5 09/33] ia64, irq: Add dummy create_irq_nr() Yinghai Lu
@ 2014-01-03  0:05 ` Yinghai Lu
  2014-02-21  7:43   ` Jiang Liu
  1 sibling, 1 reply; 8+ messages in thread
From: Yinghai Lu @ 2014-01-03  0:05 UTC (permalink / raw)
  To: Thomas Gleixner, Ingo Molnar, H. Peter Anvin, Tony Luck,
	Bjorn Helgaas, Rafael J. Wysocki
  Cc: linux-pci, linux-kernel, linux-acpi, Yinghai Lu, Joerg Roedel,
	Donald Dutile, Sebastian Andrzej Siewior, stable

iommu irq's irq_desc should be on local node ram.

Fix the return value checking problem.
  create_irq() will return -1 when fail to allocate.
  create_irq_nr() will return 0 when fail to allocate.
here only check !irq, so need to change it to use create_irq_nr instead.

-v2: According to Sebastian, add cc to stable.

Signed-off-by: Yinghai Lu <yinghai@kernel.org>
Cc: Joerg Roedel <joro@8bytes.org>
Cc: Donald Dutile <ddutile@redhat.com>
Acked-by: Donald Dutile <ddutile@redhat.com>
Cc: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
Cc: stable@vger.kernel.org
---
 drivers/iommu/dmar.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/iommu/dmar.c b/drivers/iommu/dmar.c
index 8b452c9..f4eaa50 100644
--- a/drivers/iommu/dmar.c
+++ b/drivers/iommu/dmar.c
@@ -1277,7 +1277,7 @@ int dmar_set_interrupt(struct intel_iommu *iommu)
 	if (iommu->irq)
 		return 0;
 
-	irq = create_irq();
+	irq = create_irq_nr(0, iommu->node);
 	if (!irq) {
 		pr_err("IOMMU: no free vectors\n");
 		return -EINVAL;
-- 
1.8.4


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

* Re: [PATCH v5 10/33] iommu, irq: Allocate irq_desc for dmar_msi with local node
  2014-01-03  0:05 ` [PATCH v5 10/33] iommu, irq: Allocate irq_desc for dmar_msi with local node Yinghai Lu
@ 2014-02-21  7:43   ` Jiang Liu
  2014-02-21 23:18     ` Yinghai Lu
  0 siblings, 1 reply; 8+ messages in thread
From: Jiang Liu @ 2014-02-21  7:43 UTC (permalink / raw)
  To: Yinghai Lu, Thomas Gleixner, Ingo Molnar, H. Peter Anvin,
	Tony Luck, Bjorn Helgaas, Rafael J. Wysocki
  Cc: linux-pci, linux-kernel, linux-acpi, Joerg Roedel, Donald Dutile,
	Sebastian Andrzej Siewior, stable



On 2014/1/3 8:05, Yinghai Lu wrote:
> iommu irq's irq_desc should be on local node ram.
> 
> Fix the return value checking problem.
>   create_irq() will return -1 when fail to allocate.
>   create_irq_nr() will return 0 when fail to allocate.
> here only check !irq, so need to change it to use create_irq_nr instead.
> 
> -v2: According to Sebastian, add cc to stable.
> 
> Signed-off-by: Yinghai Lu <yinghai@kernel.org>
> Cc: Joerg Roedel <joro@8bytes.org>
> Cc: Donald Dutile <ddutile@redhat.com>
> Acked-by: Donald Dutile <ddutile@redhat.com>
> Cc: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
> Cc: stable@vger.kernel.org
> ---
>  drivers/iommu/dmar.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/iommu/dmar.c b/drivers/iommu/dmar.c
> index 8b452c9..f4eaa50 100644
> --- a/drivers/iommu/dmar.c
> +++ b/drivers/iommu/dmar.c
> @@ -1277,7 +1277,7 @@ int dmar_set_interrupt(struct intel_iommu *iommu)
>  	if (iommu->irq)
>  		return 0;
>  
> -	irq = create_irq();
> +	irq = create_irq_nr(0, iommu->node);
Hi Yinghai,
	How about create_irq_nrq(1, iommu->node) here to clearly state
that 0 is not a valid irq number for dmar here?
Thanks!
Gerry

>  	if (!irq) {
>  		pr_err("IOMMU: no free vectors\n");
>  		return -EINVAL;
> 

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

* Re: [PATCH v5 10/33] iommu, irq: Allocate irq_desc for dmar_msi with local node
  2014-02-21  7:43   ` Jiang Liu
@ 2014-02-21 23:18     ` Yinghai Lu
  2014-02-22  3:14       ` Jiang Liu
  0 siblings, 1 reply; 8+ messages in thread
From: Yinghai Lu @ 2014-02-21 23:18 UTC (permalink / raw)
  To: Jiang Liu
  Cc: Thomas Gleixner, Ingo Molnar, H. Peter Anvin, Tony Luck,
	Bjorn Helgaas, Rafael J. Wysocki, linux-pci@vger.kernel.org,
	Linux Kernel Mailing List, ACPI Devel Maling List, Joerg Roedel,
	Donald Dutile, Sebastian Andrzej Siewior, stable@vger.kernel.org

On Thu, Feb 20, 2014 at 11:43 PM, Jiang Liu <jiang.liu@linux.intel.com> wrote:
>
>
> On 2014/1/3 8:05, Yinghai Lu wrote:
>> iommu irq's irq_desc should be on local node ram.
>>
>> Fix the return value checking problem.
>>   create_irq() will return -1 when fail to allocate.
>>   create_irq_nr() will return 0 when fail to allocate.
>> here only check !irq, so need to change it to use create_irq_nr instead.
>>
>> -v2: According to Sebastian, add cc to stable.
>>
>> Signed-off-by: Yinghai Lu <yinghai@kernel.org>
>> Cc: Joerg Roedel <joro@8bytes.org>
>> Cc: Donald Dutile <ddutile@redhat.com>
>> Acked-by: Donald Dutile <ddutile@redhat.com>
>> Cc: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
>> Cc: stable@vger.kernel.org
>> ---
>>  drivers/iommu/dmar.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/iommu/dmar.c b/drivers/iommu/dmar.c
>> index 8b452c9..f4eaa50 100644
>> --- a/drivers/iommu/dmar.c
>> +++ b/drivers/iommu/dmar.c
>> @@ -1277,7 +1277,7 @@ int dmar_set_interrupt(struct intel_iommu *iommu)
>>       if (iommu->irq)
>>               return 0;
>>
>> -     irq = create_irq();
>> +     irq = create_irq_nr(0, iommu->node);
> Hi Yinghai,
>         How about create_irq_nrq(1, iommu->node) here to clearly state
> that 0 is not a valid irq number for dmar here?

Should be the same. that 0 or 1 will be from in __create_irqs().

And we have
        if (from < nr_irqs_gsi)
                from = nr_irqs_gsi;
in __create_irqs().

Thanks

Yinghai

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

* Re: [PATCH v5 10/33] iommu, irq: Allocate irq_desc for dmar_msi with local node
  2014-02-21 23:18     ` Yinghai Lu
@ 2014-02-22  3:14       ` Jiang Liu
  2014-02-22  7:44         ` Yinghai Lu
  0 siblings, 1 reply; 8+ messages in thread
From: Jiang Liu @ 2014-02-22  3:14 UTC (permalink / raw)
  To: Yinghai Lu
  Cc: Thomas Gleixner, Ingo Molnar, H. Peter Anvin, Tony Luck,
	Bjorn Helgaas, Rafael J. Wysocki, linux-pci@vger.kernel.org,
	Linux Kernel Mailing List, ACPI Devel Maling List, Joerg Roedel,
	Donald Dutile, Sebastian Andrzej Siewior, stable@vger.kernel.org



On 2014/2/22 7:18, Yinghai Lu wrote:
> On Thu, Feb 20, 2014 at 11:43 PM, Jiang Liu <jiang.liu@linux.intel.com> wrote:
>>
>>
>> On 2014/1/3 8:05, Yinghai Lu wrote:
>>> iommu irq's irq_desc should be on local node ram.
>>>
>>> Fix the return value checking problem.
>>>   create_irq() will return -1 when fail to allocate.
>>>   create_irq_nr() will return 0 when fail to allocate.
>>> here only check !irq, so need to change it to use create_irq_nr instead.
>>>
>>> -v2: According to Sebastian, add cc to stable.
>>>
>>> Signed-off-by: Yinghai Lu <yinghai@kernel.org>
>>> Cc: Joerg Roedel <joro@8bytes.org>
>>> Cc: Donald Dutile <ddutile@redhat.com>
>>> Acked-by: Donald Dutile <ddutile@redhat.com>
>>> Cc: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
>>> Cc: stable@vger.kernel.org
>>> ---
>>>  drivers/iommu/dmar.c | 2 +-
>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/iommu/dmar.c b/drivers/iommu/dmar.c
>>> index 8b452c9..f4eaa50 100644
>>> --- a/drivers/iommu/dmar.c
>>> +++ b/drivers/iommu/dmar.c
>>> @@ -1277,7 +1277,7 @@ int dmar_set_interrupt(struct intel_iommu *iommu)
>>>       if (iommu->irq)
>>>               return 0;
>>>
>>> -     irq = create_irq();
>>> +     irq = create_irq_nr(0, iommu->node);
>> Hi Yinghai,
>>         How about create_irq_nrq(1, iommu->node) here to clearly state
>> that 0 is not a valid irq number for dmar here?
> 
> Should be the same. that 0 or 1 will be from in __create_irqs().
> 
> And we have
>         if (from < nr_irqs_gsi)
>                 from = nr_irqs_gsi;
> in __create_irqs().
Hi Yinghai,
	Seems there is no such protection on IA64 side. I feel create_irq_nr()
returns 0 for error is a little risky, 0 may be
a valid IRQ number on other platforms(no sure about this).
Thanks!
> 
> Thanks
> 
> Yinghai
> 

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

* Re: [PATCH v5 10/33] iommu, irq: Allocate irq_desc for dmar_msi with local node
  2014-02-22  3:14       ` Jiang Liu
@ 2014-02-22  7:44         ` Yinghai Lu
  2014-02-22 15:33           ` Jiang Liu
  0 siblings, 1 reply; 8+ messages in thread
From: Yinghai Lu @ 2014-02-22  7:44 UTC (permalink / raw)
  To: Jiang Liu
  Cc: Thomas Gleixner, Ingo Molnar, H. Peter Anvin, Tony Luck,
	Bjorn Helgaas, Rafael J. Wysocki, linux-pci@vger.kernel.org,
	Linux Kernel Mailing List, ACPI Devel Maling List, Joerg Roedel,
	Donald Dutile, Sebastian Andrzej Siewior, stable@vger.kernel.org

On Fri, Feb 21, 2014 at 7:14 PM, Jiang Liu <jiang.liu@linux.intel.com> wrote:

>         Seems there is no such protection on IA64 side. I feel create_irq_nr()
> returns 0 for error is a little risky, 0 may be
> a valid IRQ number on other platforms(no sure about this).
> Thanks!

in [PATCH] ia64, irq: Add dummy create_irq_nr()

+unsigned int create_irq_nr(unsigned int from, int node)
+{
+       int irq = create_irq();
+
+       if (irq < 0)
+               irq = 0;
+
+       return irq;
+}
+

so that from is ignored.

create_irq_nr() is only with x86 and ia64.

Thanks

Yinghai

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

* Re: [PATCH v5 10/33] iommu, irq: Allocate irq_desc for dmar_msi with local node
  2014-02-22  7:44         ` Yinghai Lu
@ 2014-02-22 15:33           ` Jiang Liu
  2014-02-22 17:30             ` Yinghai Lu
  0 siblings, 1 reply; 8+ messages in thread
From: Jiang Liu @ 2014-02-22 15:33 UTC (permalink / raw)
  To: Yinghai Lu
  Cc: Thomas Gleixner, Ingo Molnar, H. Peter Anvin, Tony Luck,
	Bjorn Helgaas, Rafael J. Wysocki, linux-pci@vger.kernel.org,
	Linux Kernel Mailing List, ACPI Devel Maling List, Joerg Roedel,
	Donald Dutile, Sebastian Andrzej Siewior, stable@vger.kernel.org

Hi Yinghai,
	I have a plan to test this patch set once I have reviewed
all patches in coming weeks. Do you have a plan to update to latest
kernel or is it ok to test this version?
Thanks!
Gerry

On 2014/2/22 15:44, Yinghai Lu wrote:
> On Fri, Feb 21, 2014 at 7:14 PM, Jiang Liu <jiang.liu@linux.intel.com> wrote:
> 
>>         Seems there is no such protection on IA64 side. I feel create_irq_nr()
>> returns 0 for error is a little risky, 0 may be
>> a valid IRQ number on other platforms(no sure about this).
>> Thanks!
> 
> in [PATCH] ia64, irq: Add dummy create_irq_nr()
> 
> +unsigned int create_irq_nr(unsigned int from, int node)
> +{
> +       int irq = create_irq();
> +
> +       if (irq < 0)
> +               irq = 0;
> +
> +       return irq;
> +}
> +
> 
> so that from is ignored.
> 
> create_irq_nr() is only with x86 and ia64.
> 
> Thanks
> 
> Yinghai
> 

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

* Re: [PATCH v5 10/33] iommu, irq: Allocate irq_desc for dmar_msi with local node
  2014-02-22 15:33           ` Jiang Liu
@ 2014-02-22 17:30             ` Yinghai Lu
  0 siblings, 0 replies; 8+ messages in thread
From: Yinghai Lu @ 2014-02-22 17:30 UTC (permalink / raw)
  To: Jiang Liu
  Cc: Thomas Gleixner, Ingo Molnar, H. Peter Anvin, Tony Luck,
	Bjorn Helgaas, Rafael J. Wysocki, linux-pci@vger.kernel.org,
	Linux Kernel Mailing List, ACPI Devel Maling List, Joerg Roedel,
	Donald Dutile, Sebastian Andrzej Siewior, stable@vger.kernel.org

On Sat, Feb 22, 2014 at 7:33 AM, Jiang Liu <jiang.liu@linux.intel.com> wrote:
> Hi Yinghai,
>         I have a plan to test this patch set once I have reviewed
> all patches in coming weeks. Do you have a plan to update to latest
> kernel or is it ok to test this version?

That will be great. I will refresh the branch on top of
linus/tip/pci/acpi next week.

Thanks

Yinghai

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

end of thread, other threads:[~2014-02-22 17:30 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <1388707565-16535-1-git-send-email-yinghai@kernel.org>
2014-01-03  0:05 ` [PATCH v5 09/33] ia64, irq: Add dummy create_irq_nr() Yinghai Lu
2014-01-03  0:05 ` [PATCH v5 10/33] iommu, irq: Allocate irq_desc for dmar_msi with local node Yinghai Lu
2014-02-21  7:43   ` Jiang Liu
2014-02-21 23:18     ` Yinghai Lu
2014-02-22  3:14       ` Jiang Liu
2014-02-22  7:44         ` Yinghai Lu
2014-02-22 15:33           ` Jiang Liu
2014-02-22 17:30             ` Yinghai Lu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).