I'm trying to migrate from the Octeon SDK to a vanilla Linux 4.4 kernel for a Cavium OCTEON II (CN6880) board running in 64-bit little-endian mode. So far I've gotten most of the hardware features I need working, including XAUI/RXAUI, USB, boot bus and I2C, with a fairly small set of patches. https://github.com/skyportsystems/linux/compare/master...octeon2 The biggest remaining hurdle is improving 10G Ethernet performance: iperf -P 10 on the SDK kernel gets close to 10 Gbit/sec throughput, while on my 4.4 kernel, it tops out around 1 Gbit/sec. Comparing the octeon-ethernet driver in the SDK (http://git.yoctoproject.org/cgit/cgit.cgi/linux-yocto-contrib/tree/drivers/net/ethernet/octeon?h=apaliwal/octeon) against the one in 4.4, the latter appears to utilize only a single CPU core for the rx path. It's not clear to me if there is a similar issue on the tx side, or other bottlenecks. I started trying to port multi-CPU rx from the SDK octeon-ethernet driver, but had trouble teasing out just the necessary bits without following a maze of dependencies on unrelated functions. (Dragging major parts of the SDK wholesale into 4.4 defeats the purpose of switching to a vanilla kernel, and doesn't bring us closer to getting octeon-ethernet out of staging.) Has there been any work on the octeon-ethernet driver since this patch set? https://www.linux-mips.org/archives/linux-mips/2015-08/msg00338.html Any hints on what to pick out of the SDK code to improve 10G performance would be appreciated. --Ed _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel