From: Ravikiran G Thirumalai <kiran@scalex86.org>
To: ak@suse.de
Cc: linux-kernel@vger.kernel.org, discuss@x86-64.org,
Andrew Morton <akpm@osdl.org>,
tglx@linutronix.de, Linus Torvalds <torvalds@osdl.org>,
"Shai Fultheim (Shai@scalex86.org)" <shai@scalex86.org>
Subject: x86_64: 2.6.14-rc4 swiotlb broken
Date: Mon, 17 Oct 2005 02:36:54 -0700 [thread overview]
Message-ID: <20051017093654.GA7652@localhost.localdomain> (raw)
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.
Thanks,
Kiran
Signed-off-by: Shai Fultheim <shai@scalex86.org>
Signed-off-by: Ravikiran Thirumalai <kiran@scalex86.org>
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");
next reply other threads:[~2005-10-17 9:37 UTC|newest]
Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-10-17 9:36 Ravikiran G Thirumalai [this message]
2005-10-17 9:50 ` x86_64: 2.6.14-rc4 swiotlb broken Andrew Morton
2005-10-17 9:53 ` Andi Kleen
2005-10-17 10:54 ` Yasunori Goto
2005-10-17 15:27 ` Linus Torvalds
2005-10-17 15:37 ` Ravikiran G Thirumalai
2005-10-17 15:40 ` Andi Kleen
2005-10-17 15:56 ` Muli Ben-Yehuda
2005-10-17 16:02 ` Andi Kleen
2005-10-17 18:53 ` [discuss] " Russell King
2005-10-17 16:02 ` Linus Torvalds
2005-10-17 16:26 ` Andi Kleen
2005-10-17 16:42 ` Linus Torvalds
2005-10-17 17:09 ` Andi Kleen
2005-10-17 17:52 ` Ravikiran G Thirumalai
2005-10-17 18:08 ` [discuss] " Andi Kleen
2005-10-17 18:27 ` Muli Ben-Yehuda
2005-10-17 18:32 ` Andi Kleen
2005-10-17 18:45 ` Muli Ben-Yehuda
2005-10-17 19:04 ` Linus Torvalds
2005-10-17 19:09 ` Andi Kleen
2005-10-17 19:15 ` Arjan van de Ven
2005-10-17 19:47 ` Ravikiran G Thirumalai
2005-10-17 23:50 ` David Lang
2005-10-18 2:29 ` Yasunori Goto
2005-10-18 3:20 ` Ravikiran G Thirumalai
2005-10-18 4:28 ` Yasunori Goto
2005-10-18 6:13 ` Ravikiran G Thirumalai
2005-10-18 10:09 ` Yasunori Goto
2005-10-18 18:51 ` Ravikiran G Thirumalai
2005-10-19 17:18 ` Jon Mason
2005-10-20 7:27 ` Andi Kleen
2005-10-17 18:38 ` Ravikiran G Thirumalai
2005-10-17 18:20 ` Christoph Lameter
2005-10-17 19:04 ` Alex Williamson
2005-10-17 19:26 ` Ravikiran G Thirumalai
2005-10-17 19:52 ` Alex Williamson
2005-10-17 15:30 ` Ravikiran G Thirumalai
2005-10-17 15:43 ` Andi Kleen
2005-10-17 20:44 ` Andrew Morton
2005-10-17 21:11 ` Linus Torvalds
2005-10-18 0:16 ` Ravikiran G Thirumalai
2005-10-18 8:23 ` Andi Kleen
2005-10-18 19:07 ` [discuss] " Ravikiran G Thirumalai
2005-10-18 15:48 ` Linus Torvalds
2005-10-18 15:50 ` Linus Torvalds
2005-10-18 19:54 ` [discuss] " Ravikiran G Thirumalai
2005-10-18 21:28 ` Alex Williamson
2005-10-18 21:53 ` Ravikiran G Thirumalai
2005-10-18 22:04 ` Alex Williamson
2005-10-18 22:37 ` Alex Williamson
2005-10-18 23:22 ` Ravikiran G Thirumalai
2005-10-19 1:22 ` Alex Williamson
2005-10-19 2:02 ` Alex Williamson
2005-10-19 12:47 ` Yasunori Goto
2005-10-19 14:19 ` Alex Williamson
2005-10-19 18:07 ` Ravikiran G Thirumalai
2005-10-19 20:45 ` Linus Torvalds
2005-10-19 22:52 ` Ravikiran G Thirumalai
2005-10-20 0:51 ` Yasunori Goto
2005-10-20 7:45 ` Andi Kleen
2005-10-18 22:47 ` Ravikiran G Thirumalai
2005-10-17 10:02 ` Muli Ben-Yehuda
2005-10-17 19:07 ` Tony Luck
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20051017093654.GA7652@localhost.localdomain \
--to=kiran@scalex86.org \
--cc=ak@suse.de \
--cc=akpm@osdl.org \
--cc=discuss@x86-64.org \
--cc=linux-kernel@vger.kernel.org \
--cc=shai@scalex86.org \
--cc=tglx@linutronix.de \
--cc=torvalds@osdl.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox