Re: [PATCH]: PCI: GART iommu alignment fixes [v2]

From: Prarit Bhargava
Date: Thu Jul 24 2008 - 11:10:54 EST




Yeah, I'm not against fixing IOMMUs to make alloc_consistent return
the reqeuested size aligned memory. My point is that it's not likely
to fix anything. Even with the patch, we hit the above problem because
as I explained, the root cause of the problem is the boundary issue;
we need to fix pci-dma.c


Sorry, I misquoted code up there and was looking for a clear example of where this would happen. The issue I'm trying to resolve didn't happen on the skge -- it was just a convenient piece of code to examine and point out ;)


Here's a case where USB has problems:

BIOS-e820: 0000000000000000 - 000000000009f400 (usable)
BIOS-e820: 000000000009f400 - 00000000000a0000 (reserved)
BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
BIOS-e820: 0000000000100000 - 00000000f57f6800 (reserved)
BIOS-e820: 00000000f57f6800 - 00000000f5800000 (ACPI data)
BIOS-e820: 00000000f5800000 - 00000000fdc00000 (reserved)
BIOS-e820: 00000000fdc00000 - 00000000fdc01000 (reserved)
BIOS-e820: 00000000fdc10000 - 00000000fdc01000 (reserved)
BIOS-e820: 00000000fdc20000 - 00000000fdc01000 (reserved)
BIOS-e820: 00000000fdc30000 - 00000000fdc01000 (reserved)
BIOS-e820: 00000000fec00000 - 00000000fec10000 (reserved)
BIOS-e820: 00000000fec10000 - 00000000fec20000 (reserved)
BIOS-e820: 00000000fec20000 - 00000000fec30000 (reserved)
BIOS-e820: 00000000fee00000 - 00000000fee10000 (reserved)
BIOS-e820: 00000000fee10000 - 00000000ff800000 (reserved)
BIOS-e820: 00000000ff800000 - 0000000100000000 (reserved)
BIOS-e820: 0000000100000000 - 00000017fffff000 (usable)

I haven't tracked down what pci_alloc_consistent went wrong in usb-storage yet ... it seemed irrelevant because GART was broken.

P.
--
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/