TCP performance measured using iperf on the sabresd device using the built in gigabit with Android JB4.3 is around 320 Mbps while on Ubuntu is around 450 Mbps. What is the bottleneck in the Android network? Is there anyway to potentially optimize the Android build to better match the performance of using Ubuntu? What expectation can I have for network performance with a network adapter connected over PCIe. I have measured PCIe bus speeds to get at least as high as 1.4 Gbps, however I am concerned that the Android network stack running on the sabresd device may not be able to handle data rates at those speeds.
I have seen some other post discussing poor network performance in Android such as About Gigabit Ethernet performance gap between Android&Linux and http://boundarydevices.com/i-mx6-ethernet/ but in these post, test show lots of dropped packets and I am getting very little dropped packets. I have also tested reducing tcp_mem, tcp_rmem and tcp_wmem in Ubuntu to what it is in Android and this had very little impact on performance so I don't think lack of available tcp memory is the problem.