[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] DMA trouble with current xen-sparse
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 Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |