Message ID | 20200113154829.70855-1-ciara.loftus@intel.com |
---|---|
State | Superseded |
Headers | show |
Series | [ovs-dev] Documentation: add notes for TSO & i40e | expand |
Bleep bloop. Greetings Ciara Loftus, I am a robot and I have tried out your patch. Thanks for your contribution. I encountered some error that I wasn't expecting. See the details below. git-am: Failed to merge in the changes. Patch failed at 0001 Documentation: add notes for TSO & i40e The copy of the patch that failed is found in: /var/lib/jenkins/jobs/upstream_build_from_pw/workspace/.git/rebase-apply/patch When you have resolved this problem, run "git am --resolved". If you prefer to skip this patch, run "git am --skip" instead. To restore the original branch and stop patching, run "git am --abort". Please check this out. If you feel there has been an error, please email aconole@redhat.com Thanks, 0-day Robot
On Mon, Jan 13, 2020 at 4:49 PM Ciara Loftus <ciara.loftus@intel.com> wrote: > > When using TSO in OVS-DPDK with an i40e device, the following > commit is required for DPDK, which fixes an issue on the TSO path: > http://git.dpdk.org/next/dpdk-next-net/commit/?id=b2a4dc260139409c539fb8e7f1b9d0a5182cfd2b Please avoid referencing dpdk-next-net sha1's, as this tree is rebased on dpdk master quite frequently. This commit will reach the master branch in a few days hopefully (20.02-rc1 is expected this week). In URLs, prefer https://. > Document this as a limitation until a DPDK release with the fix > included is supported by OVS. > > Also, document best known methods for performance tuning when > testing TSO with the tool iperf. > > Signed-off-by: Ciara Loftus <ciara.loftus@intel.com> > --- > Documentation/topics/dpdk/tso.rst | 27 +++++++++++++++++++++++++++ > 1 file changed, 27 insertions(+) > > diff --git a/Documentation/topics/dpdk/tso.rst b/Documentation/topics/dpdk/tso.rst > index 189c86480..5c56c458c 100644 > --- a/Documentation/topics/dpdk/tso.rst > +++ b/Documentation/topics/dpdk/tso.rst > @@ -94,3 +94,30 @@ datapath must support TSO or packets using that feature will be dropped > on ports without TSO support. That also means guests using vhost-user > in client mode will receive TSO packet regardless of TSO being enabled > or disabled within the guest. > + > +When the NIC performing the segmentation is using the i40e DPDK PMD, a fix > +must be included in the DPDK build, otherwise TSO will not work. The fix can > +be found on `the dpdk.org net-next tree`__. > + > +__ http://git.dpdk.org/next/dpdk-next-net/commit/?id=e975e3720ba16278c6b43f8938b75710573bbd6a Ditto. > + > +This fix is expected to be included in the 19.11.1 release. When OVS migrates > +to this DPDK release, this limitation can be removed. > + > +~~~~~~~~~~~~~~~~~~ > +Performance Tuning > +~~~~~~~~~~~~~~~~~~ > + > +iperf is often used to test TSO performance. Care needs to be taken when > +configuring the environment in which the iperf server process is being run. > +Since the iperf server uses the NIC's kernel driver, IRQs will be generated. > +By default with some NICs eg. i40e, the IRQs will land on the same core as that > +which is being used by the server process, provided the number of NIC queues is > +greater or equal to that lcoreid. This causes contention between the iperf > +server process and the IRQs. For optimal performance, it is suggested to pin > +the IRQs to their own core. To change the affinity associated with a given IRQ > +number, you can 'echo' the desired coremask to the file > +/proc/irq/<number>/smp_affinity > +For more on SMP affinity, refer to the `Linux kernel documentation`__. > + > +__ https://www.kernel.org/doc/Documentation/IRQ-affinity.txt > -- > 2.17.1 > > _______________________________________________ > dev mailing list > dev@openvswitch.org > https://mail.openvswitch.org/mailman/listinfo/ovs-dev >
On Mon, Jan 13, 2020 at 03:48:29PM +0000, Ciara Loftus wrote: > When using TSO in OVS-DPDK with an i40e device, the following > commit is required for DPDK, which fixes an issue on the TSO path: > http://git.dpdk.org/next/dpdk-next-net/commit/?id=b2a4dc260139409c539fb8e7f1b9d0a5182cfd2b > Document this as a limitation until a DPDK release with the fix > included is supported by OVS. > > Also, document best known methods for performance tuning when > testing TSO with the tool iperf. > > Signed-off-by: Ciara Loftus <ciara.loftus@intel.com> > --- Thanks Ciara! Acked-by: Flavio Leitner <fbl@sysclose.org>
> -----Original Message----- > From: David Marchand <david.marchand@redhat.com> > Sent: Monday 13 January 2020 15:58 > To: Loftus, Ciara <ciara.loftus@intel.com> > Cc: ovs dev <dev@openvswitch.org>; Flavio Leitner <fbl@sysclose.org>; > Stokes, Ian <ian.stokes@intel.com> > Subject: Re: [ovs-dev] [PATCH] Documentation: add notes for TSO & i40e > > On Mon, Jan 13, 2020 at 4:49 PM Ciara Loftus <ciara.loftus@intel.com> wrote: > > > > When using TSO in OVS-DPDK with an i40e device, the following > > commit is required for DPDK, which fixes an issue on the TSO path: > > http://git.dpdk.org/next/dpdk-next- > net/commit/?id=b2a4dc260139409c539fb8e7f1b9d0a5182cfd2b > > Please avoid referencing dpdk-next-net sha1's, as this tree is rebased > on dpdk master quite frequently. > This commit will reach the master branch in a few days hopefully > (20.02-rc1 is expected this week). > > In URLs, prefer https://. Thanks for the feedback David. I'll hold off submitting a v2 anyway until Flavio's series on which this patch depends is merged, to avoid the 0-day errors. So hopefully by then the fix will have reached the master branch and I can include the appropriate sha1, or alternatively a link to the patchwork patch. Thanks, Ciara > > > > Document this as a limitation until a DPDK release with the fix > > included is supported by OVS. > > > > Also, document best known methods for performance tuning when > > testing TSO with the tool iperf. > > > > Signed-off-by: Ciara Loftus <ciara.loftus@intel.com> > > --- > > Documentation/topics/dpdk/tso.rst | 27 > +++++++++++++++++++++++++++ > > 1 file changed, 27 insertions(+) > > > > diff --git a/Documentation/topics/dpdk/tso.rst > b/Documentation/topics/dpdk/tso.rst > > index 189c86480..5c56c458c 100644 > > --- a/Documentation/topics/dpdk/tso.rst > > +++ b/Documentation/topics/dpdk/tso.rst > > @@ -94,3 +94,30 @@ datapath must support TSO or packets using that > feature will be dropped > > on ports without TSO support. That also means guests using vhost-user > > in client mode will receive TSO packet regardless of TSO being enabled > > or disabled within the guest. > > + > > +When the NIC performing the segmentation is using the i40e DPDK PMD, > a fix > > +must be included in the DPDK build, otherwise TSO will not work. The fix > can > > +be found on `the dpdk.org net-next tree`__. > > + > > +__ http://git.dpdk.org/next/dpdk-next- > net/commit/?id=e975e3720ba16278c6b43f8938b75710573bbd6a > > Ditto. > > > > + > > +This fix is expected to be included in the 19.11.1 release. When OVS > migrates > > +to this DPDK release, this limitation can be removed. > > + > > +~~~~~~~~~~~~~~~~~~ > > +Performance Tuning > > +~~~~~~~~~~~~~~~~~~ > > + > > +iperf is often used to test TSO performance. Care needs to be taken when > > +configuring the environment in which the iperf server process is being > run. > > +Since the iperf server uses the NIC's kernel driver, IRQs will be generated. > > +By default with some NICs eg. i40e, the IRQs will land on the same core as > that > > +which is being used by the server process, provided the number of NIC > queues is > > +greater or equal to that lcoreid. This causes contention between the iperf > > +server process and the IRQs. For optimal performance, it is suggested to > pin > > +the IRQs to their own core. To change the affinity associated with a given > IRQ > > +number, you can 'echo' the desired coremask to the file > > +/proc/irq/<number>/smp_affinity > > +For more on SMP affinity, refer to the `Linux kernel documentation`__. > > + > > +__ https://www.kernel.org/doc/Documentation/IRQ-affinity.txt > > -- > > 2.17.1 > > > > _______________________________________________ > > dev mailing list > > dev@openvswitch.org > > https://mail.openvswitch.org/mailman/listinfo/ovs-dev > > > > > -- > David Marchand
diff --git a/Documentation/topics/dpdk/tso.rst b/Documentation/topics/dpdk/tso.rst index 189c86480..5c56c458c 100644 --- a/Documentation/topics/dpdk/tso.rst +++ b/Documentation/topics/dpdk/tso.rst @@ -94,3 +94,30 @@ datapath must support TSO or packets using that feature will be dropped on ports without TSO support. That also means guests using vhost-user in client mode will receive TSO packet regardless of TSO being enabled or disabled within the guest. + +When the NIC performing the segmentation is using the i40e DPDK PMD, a fix +must be included in the DPDK build, otherwise TSO will not work. The fix can +be found on `the dpdk.org net-next tree`__. + +__ http://git.dpdk.org/next/dpdk-next-net/commit/?id=e975e3720ba16278c6b43f8938b75710573bbd6a + +This fix is expected to be included in the 19.11.1 release. When OVS migrates +to this DPDK release, this limitation can be removed. + +~~~~~~~~~~~~~~~~~~ +Performance Tuning +~~~~~~~~~~~~~~~~~~ + +iperf is often used to test TSO performance. Care needs to be taken when +configuring the environment in which the iperf server process is being run. +Since the iperf server uses the NIC's kernel driver, IRQs will be generated. +By default with some NICs eg. i40e, the IRQs will land on the same core as that +which is being used by the server process, provided the number of NIC queues is +greater or equal to that lcoreid. This causes contention between the iperf +server process and the IRQs. For optimal performance, it is suggested to pin +the IRQs to their own core. To change the affinity associated with a given IRQ +number, you can 'echo' the desired coremask to the file +/proc/irq/<number>/smp_affinity +For more on SMP affinity, refer to the `Linux kernel documentation`__. + +__ https://www.kernel.org/doc/Documentation/IRQ-affinity.txt
When using TSO in OVS-DPDK with an i40e device, the following commit is required for DPDK, which fixes an issue on the TSO path: http://git.dpdk.org/next/dpdk-next-net/commit/?id=b2a4dc260139409c539fb8e7f1b9d0a5182cfd2b Document this as a limitation until a DPDK release with the fix included is supported by OVS. Also, document best known methods for performance tuning when testing TSO with the tool iperf. Signed-off-by: Ciara Loftus <ciara.loftus@intel.com> --- Documentation/topics/dpdk/tso.rst | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+)