This series contains different tweaks to improve the performance of the userspace datapath with DPDK ports.
The first commits reduce the size of struct dp_packet to three cachelines (two used by DPDK and one for our metadata). I've put in also some style fixes for lib/dp-packet.h Then, a microoptimization in the packet metadata initialization (which appears to be a bottleneck for simple workflows), toghether with the dp_packet changes, seems to improve single flow phy2phy throughput The last two commits change the way the userspace datapath handles output batches: this should give a significant improvement to multiple megaflows scenarios Daniele Di Proietto (7): dp-packet: Remove 'list' member. dp-packet: Remove 'frame' member. dp-packet: Merge 'allocated' member with DPDK mbuf 'buf_len'. dp-packet: Style fixes. dpif-netdev: Use memcpy() to initialize pkt_metadata. dpif-netdev: Store batch pointer in dp_netdev_flow. dpif-netdev: Share emc and fast path output batches. lib/dp-packet.c | 36 +---- lib/dp-packet.h | 325 +++++++++++++++++++++++++--------------------- lib/dpif-netdev.c | 115 ++++++++-------- lib/flow.c | 2 +- lib/netdev-dummy.c | 50 +++++-- lib/packets.c | 6 +- lib/rstp-state-machines.c | 2 +- lib/stp.c | 2 +- ofproto/ofproto-dpif.c | 30 ++--- 9 files changed, 299 insertions(+), 269 deletions(-) -- 2.1.4 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev