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

Reply via email to