[ovs-dev] [PATCH v11 0/5] Output packet batching (Time-based).
Jan Scheurich
jan.scheurich at ericsson.com
Mon Jan 15 16:47:57 UTC 2018
Thanks Ian and everyone involved! Now let's go on from here...
I will try to post a PMD Perf Metrics v7 with all fixes so far on top of this tomorrow.
Regards, Jan
> -----Original Message-----
> From: Stokes, Ian [mailto:ian.stokes at intel.com]
> Sent: Monday, 15 January, 2018 17:23
> To: Ilya Maximets <i.maximets at samsung.com>; ovs-dev at openvswitch.org
> Cc: Heetae Ahn <heetae82.ahn at samsung.com>; Bodireddy, Bhanuprakash <bhanuprakash.bodireddy at intel.com>; Fischetti, Antonio
> <antonio.fischetti at intel.com>; Eelco Chaudron <echaudro at redhat.com>; Loftus, Ciara <ciara.loftus at intel.com>; Kevin Traynor
> <ktraynor at redhat.com>; Jan Scheurich <jan.scheurich at ericsson.com>; O Mahony, Billy <billy.o.mahony at intel.com>
> Subject: RE: [PATCH v11 0/5] Output packet batching (Time-based).
>
> > -----Original Message-----
> > From: Ilya Maximets [mailto:i.maximets at samsung.com]
> > Sent: Monday, January 15, 2018 10:21 AM
> > To: ovs-dev at openvswitch.org
> > Cc: Heetae Ahn <heetae82.ahn at samsung.com>; Bodireddy, Bhanuprakash
> > <bhanuprakash.bodireddy at intel.com>; Fischetti, Antonio
> > <antonio.fischetti at intel.com>; Eelco Chaudron <echaudro at redhat.com>;
> > Loftus, Ciara <ciara.loftus at intel.com>; Kevin Traynor
> > <ktraynor at redhat.com>; Jan Scheurich <jan.scheurich at ericsson.com>; O
> > Mahony, Billy <billy.o.mahony at intel.com>; Stokes, Ian
> > <ian.stokes at intel.com>; Ilya Maximets <i.maximets at samsung.com>
> > Subject: [PATCH v11 0/5] Output packet batching (Time-based).
> >
> > 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.
> >
>
> Thanks all for the effort put into this, I've merged this to the DPDK_MERGE branch now.
>
> Thanks
> Ian
>
> > This version targeted to make simple and flexible output packet batching
> > on higher level without introducing and even simplifying netdev layer.
> >
> > [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
> >
> > The most of the series already in merged and not included in v9 and later
> > versions.
> >
> > Testing of 'PVP with OVS bonding on phy ports' scenario shows significant
> > performance improvement up to +25% (v9 has no performance difference with
> > v6 here):
> >
> > https://mail.openvswitch.org/pipermail/ovs-dev/2017-
> > December/341700.html
> >
> > Other testing results for v6:
> >
> > https://mail.openvswitch.org/pipermail/ovs-dev/2017-
> > December/341605.html
> > https://mail.openvswitch.org/pipermail/ovs-dev/2017-
> > December/341628.html
> >
> > Version 11:
> > * Minor comment update about distribution of the send cycles in patch
> > #2.
> >
> > Version 10:
> > * Rebased on top of '[PATCH v8 0/2] Refactor PMD stats and cycle
> > counting':
> > https://mail.openvswitch.org/pipermail/ovs-dev/2018-
> > January/343008.html
> > * Per-rxq cycles accounting changed to use new nested counters.
> >
> > Version 9:
> > * Made on top of current DPDK_MERGE tree (cc4891f).
> > * Patches 1-4,6 from v8 dropped as already included in DPDK_MERGE.
> > * "Time based ..." patch updated with per-rxq cycles counting from
> > the following incremental:
> > https://mail.openvswitch.org/pipermail/ovs-dev/2017-
> > December/342255.html
> > and splitted into 3 logically separate parts for easier review
> > purposes:
> > 1. Microsecond granularity for dpif-netdev.
> > 2. Cycles accounting changes.
> > 3. Time based batching itself.
> > There was no code changes in comparing with v8 + Incremental, only
> > re-split.
> > * Output batching mentioned in NEWS.
> > * Documentation patch included in this series.
> >
> > Version 8:
> > * Minor rebase on top of current master.
> >
> > Version 7:
> > * Rebased on current istokes/dpdk_merge (3eb8d4f)
> > * Dropped dp_netdev_pmd_thread structure refactoring patch.
> > Not needed since revert applied.
> >
> > Version 6:
> > * Rebased on current master:
> > - Added new patch to refactor dp_netdev_pmd_thread structure
> > according to following suggestion:
> > https://mail.openvswitch.org/pipermail/ovs-dev/2017-
> > November/341230.html
> >
> > NOTE: I still prefer reverting of the padding related patch.
> > Rebase done to not block acepting of this series.
> > Revert patch and discussion here:
> > https://mail.openvswitch.org/pipermail/ovs-dev/2017-
> > November/341153.html
> >
> > * Added comment about pmd_thread_ctx_time_update() usage.
> >
> > Version 5:
> > * pmd_thread_ctx_time_update() calls moved to different places to
> > call them only from dp_netdev_process_rxq_port() and main
> > polling functions:
> > pmd_thread_main, dpif_netdev_run and dpif_netdev_execute.
> > All other functions should use cached time from pmd->ctx.now.
> > It's guaranteed to be updated at least once per polling cycle.
> > * 'may_steal' patch returned to version from v3 because
> > 'may_steal' in qos is a completely different variable. This
> > patch only removes 'may_steal' from netdev API.
> > * 2 more usec functions added to timeval to have complete public API.
> > * Checking of 'output_cnt' turned to assertion.
> >
> > Version 4:
> > * Rebased on current master.
> > * Rebased on top of "Keep latest measured time for PMD thread."
> > (Jan Scheurich)
> > * Microsecond resolution related patches integrated.
> > * Time-based batching without RFC tag.
> > * 'output_time' renamed to 'flush_time'. (Jan Scheurich)
> > * 'flush_time' update moved to 'dp_netdev_pmd_flush_output_on_port'.
> > (Jan Scheurich)
> > * 'output-max-latency' renamed to 'tx-flush-interval'.
> > * Added patch for output batching statistics.
> >
> > 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 (5):
> > dpif-netdev: Use microsecond granularity.
> > dpif-netdev: Count cycles on per-rxq basis.
> > dpif-netdev: Time based output batching.
> > docs: Describe output packet batching in DPDK guide.
> > NEWS: Mark output packet batching support.
> >
> > Documentation/intro/install/dpdk.rst | 58 ++++++++++++
> > NEWS | 2 +
> > lib/dpif-netdev.c | 165 +++++++++++++++++++++++++++---
> > -----
> > vswitchd/vswitch.xml | 16 ++++
> > 4 files changed, 205 insertions(+), 36 deletions(-)
> >
> > --
> > 2.7.4
More information about the dev
mailing list