* [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).