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

Re: [MirageOS-devel] wireshark capture of failed download from mirage-www on ARM



On 25 Jul 2014, at 04:54, Thomas Leonard <talex5@xxxxxxxxx> wrote:
> 
> Here's a slightly better work-around:
> 
> https://github.com/talex5/mirage-tcpip/commit/9f7e0a628ebd1cece7d0fb979273a96be78233ad
> 
> It changes the TCP packet splitting code so that the second part of
> the page is copied to a new IO page. This avoids sending the same
> physical page to Linux twice (which is what doesn't work).
> 
> With this, the previous hack can be reverted.
> 
> In my testing, this increased the streaming TCP download speed from 56
> KB/s to 3.9 MB/s on the CubieTruck.

This is certainly a fix that works, but I'm loath to insert an unnecessary
copy in the TCP stack just because of a limitation in Xen/ARM (that will go
away in Xen 4.5, I expect).

Could we keep track of the active grants in the Gnttab libary, and force a
page duplication at that point instead?  That would fix it for any other
Cstruct consumers as well, and be a more logical place to insert Xen
version detection in the future to remove the extra copy if not needed.

-anil
_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@xxxxxxxxxxxxxxxxxxxx
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel


 


Rackspace

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