Re: [Xen-devel] DMA trouble with current xen-sparse Keir Fraser Sat Oct 29 02:00:47 2005
On 28 Oct 2005, at 20:21, Stephen C. Tweedie wrote:
The trouble is that this is a 1G box, so its memory is not large enough to automatically enable the swiotlb. (arch/xen/i386/kernel/swiotlb.c enables swiotlb automatically for dom0 only if there's at least 2G of memory.) And the first time we get a pci_dma_single() request for a dom0-contiguous region which crosses a page boundary, we hit the BUG_ON at arch/xen/i386/kernel/pci_dma.c:270 due to dma_map_single() checking: IOMMU_BUG_ON(range_straddles_page_boundary(ptr, size)); And this happens *instantly* on any loaded tcp connection on my e1000 NIC. All I need to do to kill the box is to ssh in and type "find\n". Instant dom0 death after the ssh client receives about a dozen lines of output. The stack trace is appended below.
Is the network interface set up to use jumbo frames? Otherwise I wouldn't expect alloc_skb() to allocate a data area that straddles a page boundary, since the allocation will come from one of the sub-page-sized power-of-two kmem caches.
If the problem is jumbo frames, we might need to add a hook to alloc_skb(). Using swiotlb will suck hugely.
-- Keir _______________________________________________ Xen-devel mailing list [EMAIL PROTECTED] http://lists.xensource.com/xen-devel
- [Xen-devel] DMA trouble with current xen-sparse Stephen C. Tweedie 2005/10/28
- Re: [Xen-devel] DMA trouble with current xen-sparse Keir Fraser 2005/10/29 <=
- Re: [Xen-devel] DMA trouble with current xen-sparse Muli Ben-Yehuda 2005/10/30