|
Re: x86_64: 2.6.14-rc4 swiotlb broken: msg#00064linux.ports.x86-64.general
Ravikiran G Thirumalai <kiran@xxxxxxxxxxxx> wrote: > > On x86_64 NUMA boxes, the revert > http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;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 > http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;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? > > Index: linux-2.6.14-rc4/arch/ia64/lib/swiotlb.c > =================================================================== > --- linux-2.6.14-rc4.orig/arch/ia64/lib/swiotlb.c 2005-10-14 > 00:06:21.000000000 -0700 > +++ linux-2.6.14-rc4/arch/ia64/lib/swiotlb.c 2005-10-17 00:05:22.000000000 > -0700 > @@ -123,7 +123,7 @@ > /* > * Get IO TLB memory from the low pages > */ > - io_tlb_start = alloc_bootmem_low_pages(io_tlb_nslabs * > + io_tlb_start = alloc_bootmem_node(NODE_DATA(0), io_tlb_nslabs * > (1 << IO_TLB_SHIFT)); > if (!io_tlb_start) > panic("Cannot allocate SWIOTLB buffer"); |
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | x86_64: 2.6.14-rc4 swiotlb broken: 00064, Ravikiran G Thirumalai |
|---|---|
| Next by Date: | Re: x86_64: 2.6.14-rc4 swiotlb broken: 00064, Andi Kleen |
| Previous by Thread: | x86_64: 2.6.14-rc4 swiotlb brokeni: 00064, Ravikiran G Thirumalai |
| Next by Thread: | Re: x86_64: 2.6.14-rc4 swiotlb broken: 00064, Andi Kleen |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |