WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] USB virt status --- Help please!!!

Hi,

On Mon, 2005-11-14 at 10:33 +0000, Keir Fraser wrote:

> Your first approach would be equivalent to just using swiotlb. But  it 
> is easy to implement and at least avoids 'use swiotlb=force' crashes. 
> One possibility is to switch to having swiotlb default to 'on' and then 
> need to force it off.
> 
> The second approach would never get past the kernel maintainers. This 
> is a very xen-specific problem and the maintainers won't allow us to 
> solve it by hacking at generic driver code.

Having swiotlb the default would also have dealt with the network DMA
problem we had recently, with pci_map_single() refusing to work over
page boundaries.

That got fixed that by adding an arch-specific __alloc_skb which avoided
crossing page boundaries by disabling CONFIG_DEBUG_SLAB for the skb
caches.  But that fix is also something that I doubt maintainers will
allow to go upstream.  I wonder if we'll find enough such special cases
that we really want to have a swiotlb available, just in case, at all
times?  

In cases where we expect most IO not to need it, we can reduce the
default size of it at boot time.  swiotlb_map_single() already tests
address_needs_mapping() as almost the first thing it does, so hopefully
the fast path for cases where the swiotlb is present but not needed will
be good enough to have it always available.

--Stephen



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel