Re: [PATCH] pci/intr_remapping: allocate irq_iommu on node

From: Yinghai Lu
Date: Wed Aug 05 2009 - 05:15:55 EST


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@xxxxxxxxxx>
>>
>> ---
>> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/