This patch-set inspired by [1] from Bhanuprakash Bodireddy.
Implementation of [1] looks very complex and introduces many pitfalls [2]
for later code modifications like possible packet stucks.

This version targeted to make simple and flexible output packet batching on
higher level without introducing and even simplifying netdev layer.

Patch set consists of 3 patches. All the functionality introduced in the
first patch. Two others are just cleanups of netdevs to not do unnecessary
things.

4th patch is just an RFC with possible time based implementation.
Should not be concidered for performance testing.

Basic testing of 'PVP with OVS bonding on phy ports' scenario shows
significant performance improvement.
More accurate and intensive testing required.

[1] [PATCH v4 0/5] netdev-dpdk: Use intermediate queue during packet 
transmission.
    https://mail.openvswitch.org/pipermail/ovs-dev/2017-August/337019.html

[2] For example:
    https://mail.openvswitch.org/pipermail/ovs-dev/2017-August/337133.html

Version 3:

        * Rebased on current master.
        * Time based RFC: fixed assert on n_output_batches <= 0.

Version 2:

        * Rebased on current master.
        * Added time based batching RFC patch.
        * Fixed mixing packets with different sources in same batch.

Ilya Maximets (4):
  dpif-netdev: Output packet batching.
  netdev: Remove unused may_steal.
  netdev-dpdk: Remove useless cutlen.
  dpif-netdev: Time based output batching.

 lib/dpif-netdev.c     | 197 ++++++++++++++++++++++++++++++++++++++++++--------
 lib/netdev-bsd.c      |   4 +-
 lib/netdev-dpdk.c     |  30 +++-----
 lib/netdev-dummy.c    |   4 +-
 lib/netdev-linux.c    |   4 +-
 lib/netdev-provider.h |   7 +-
 lib/netdev.c          |  12 +--
 lib/netdev.h          |   2 +-
 vswitchd/vswitch.xml  |  15 ++++
 9 files changed, 208 insertions(+), 67 deletions(-)

-- 
2.7.4

_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to