[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] Final pre-xenbus-change USB patch



Here's the final snapshot before I try to update to the latest,
Ewan-flavoured xenbus.

This snapshot of the USB code fixes a couple of bugs over the last one:
the phys_to_machine mapping is cleaned up after grant table access is
completed.  This avoids a BUG in the balloon driver which is triggered
if you free up and then attempt to reallocate an empty_page_range.  I
was hitting this when unloading and reloading the back-end module while
performing I/O.

There's also some code there to set the dma_mask of the xenbus device in
an attempt to get the USB code to use dma_alloc_coherent for its
buffers.  This code seems to work in the front-end but the
memory-mapping in the backend stops working so it's disabled for the
time being.

It's still necessary to use swiotlb=force to get this code to work
reliably but aside from that and the possible issue with a deadlock on
unregistering the backend watch which I haven't seen for a while (fixed
in the tree?) it seems to work reasonably well on my hardware.

Remaining work:

o - sync up with latest xenbus change
o - work out what to do about the swiotlb problem
o - reformat to kernel coding style
o - split patch up into manageable chunks for review and patch
submission
o - more testing: need to test using USB 2.0 HW (my test machine is 1.2)
o - run the USB code by the usb mailing list
o - fix remaining FIXMEs in code, error codes in particular.
o - more comments and API documentation

Attachment: latest-usb-patch.gz
Description: GNU Zip compressed data

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

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.