Re: x86_64: 2.6.14-rc4 swiotlb broken

From: Muli Ben-Yehuda
Date: Mon Oct 17 2005 - 05:04:16 EST

On Mon, Oct 17, 2005 at 02:50:07AM -0700, Andrew Morton wrote:
> Ravikiran G Thirumalai <kiran@xxxxxxxxxxxx> wrote:
> >
> > On x86_64 NUMA boxes, the revert
> >;a=commitdiff;h=6e3254c4e2927c117044a02acf5f5b56e1373053
> > meant that swiotlb gets the IOTLB
> > memory from pages over 4G (if mem > 4G), which basically renders swiotlb useless, causing
> > breakage with devices not capable of DMA beyond 4G. 2.6.13 was (kinda) not
> > broken, although the patch titled "Reverse order of bootmem lists" was
> > not in 2.6.13, The reason is commit
> >;a=commitdiff;h=6142891a0c0209c91aa4a98f725de0d6e2ed4918
> > was not in 2.6.13, PCI_DMA_BUS_IS_PHYS was 1 when no mmu was present, and the block layer did
> > the bouncing, never using swiotlb. I guess the right fix is to make sure
> > swiotlb gets the right memory. Here is a patch doing that. Tested on IBM
> > x460. I hope the patch is ok for ia64s too. I do not have access to ia64
> > boxen.
> >
> This is an ia64 patch - what point was there in testing it on an x460?
> Is something missing here?

x86-64 uses swioltb as well, via arch/ia64 directly. John Linville has
a patch to move the swiotlb to lib/swiotlb.c that is waiting in an
IA64 for inclusion (post 2.6.14, I guess?)

Muli Ben-Yehuda |

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at