When I tested enabling HW checksum with Fortville NICs (i40e) the slower driver path alone caused ~20% throughput drop on l2fwd test. This was without actually calculating the checksums, I simply forced the slower driver path (no vectorization).
-Matias > On 5 Dec 2017, at 8:59, Bogdan Pricope <bogdan.pric...@linaro.org> wrote: > > On RX side is kind-of expected result since it uses scheduler mode. > > On TX side there is this drop from 10 mpps to 7.69 mpps that is unexpected. > > So Petri, when you said: > "DPDK uses less optimized driver code (on Intel NICs at least) when > any of the L4 checksum offloads is enabled." > > you were referring to this kind of drop in performance? > > There is that 'folklore' that SW csum is faster on small packets while > HW csum is faster on bigger packets. Do you have this kind of data? > > Anyway, for this particular case (odp_generator), since UDP > header/payload is not changing during the test (for now), csum is > calculated only once at the beginning of the test: so we are comparing > HW IPv4 + HW UDP csum vs. SW IPv4 csum.... yet, the differences in > performance is huge... > > > On 4 December 2017 at 20:37, Maxim Uvarov <maxim.uva...@linaro.org> wrote: >> I added isocpus and mounted huge page TX became more stable at 7.6M. But >> anyway it's better to test performance for this PR because previous >> speed was 10M. >> >> Maxim. >> >> On 12/04/17 19:42, Honnappa Nagarahalli wrote: >>> Can you run with Linux-DPDK in ODP 2.0? >>> >>> On 4 December 2017 at 09:54, Maxim Uvarov <maxim.uva...@linaro.org> wrote: >>>> after clean patches apply and fix in run scripts I made it run. >>>> >>>> But results is really bad. --enable-dpdk-zero-copy >>>> >>>> TX rate is: >>>> 7673155 pps >>>> >>>> RX rate is: >>>> 5989846 pps >>>> >>>> >>>> Before patch PR 313 TX was 10M pps. >>>> >>>> I re run task and TX is 3.3M pps. All tests are single core. So >>>> something strange happens in lava or this PR. >>>> >>>> Maxim. >>>> >>>> >>>> On 12/04/17 17:03, Bogdan Pricope wrote: >>>>> On TX (https://lng.validation.linaro.org/scheduler/job/23252.0) I see: >>>>> >>>>> ODP_REPO='https://github.com/muvarov/odp' >>>>> ODP_BRANCH='api-next' >>>>> >>>>> >>>>> On RX (https://lng.validation.linaro.org/scheduler/job/23252.1) I see: >>>>> >>>>> ODP_REPO='https://github.com/muvarov/odp' >>>>> ODP_BRANCH='devel/api-next_shsum' >>>>> >>>>> >>>>> or are you referring to other test? >>>>> >>>>> >>>>> On 4 December 2017 at 15:53, Maxim Uvarov <maxim.uva...@linaro.org> wrote: >>>>>> >>>>>> >>>>>> On 4 December 2017 at 15:11, Bogdan Pricope <bogdan.pric...@linaro.org> >>>>>> wrote: >>>>>>> >>>>>>> You need to put 313 on TX side (not RX). >>>>>> >>>>>> >>>>>> >>>>>> both rx and tx have patches from 313. l2fwd works on recv side. Generator >>>>>> does not work. >>>>>> >>>>>> Maxim. >>>>>> >>>>>> >>>>>>> >>>>>>> >>>>>>> On 4 December 2017 at 13:19, Savolainen, Petri (Nokia - FI/Espoo) >>>>>>> <petri.savolai...@nokia.com> wrote: >>>>>>>> Is the DPDK version 17.08 ? Other versions might not work properly. >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -Petri >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> From: Maxim Uvarov [mailto:maxim.uva...@linaro.org] >>>>>>>> Sent: Monday, December 04, 2017 1:10 PM >>>>>>>> To: Savolainen, Petri (Nokia - FI/Espoo) <petri.savolai...@nokia.com> >>>>>>>> Cc: Bogdan Pricope <bogdan.pric...@linaro.org>; lng-odp-forward >>>>>>>> <lng-odp@lists.linaro.org> >>>>>>>> >>>>>>>> >>>>>>>> Subject: Re: [lng-odp] odp dpdk >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> 313 does not work also: >>>>>>>> >>>>>>>> https://lng.validation.linaro.org/scheduler/job/23242.1 >>>>>>>> >>>>>>>> I will replace RX side to l2fwd and see that will be there. >>>>>>>> >>>>>>>> Maxim. >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On 4 December 2017 at 13:46, Savolainen, Petri (Nokia - FI/Espoo) >>>>>>>> <petri.savolai...@nokia.com> wrote: >>>>>>>> >>>>>>>> Maxim, try https://github.com/Linaro/odp/pull/313 It has been tested to >>>>>>>> fix >>>>>>>> checksum insert for 10/40GE Intel NICs. >>>>>>>> >>>>>>>> -Petri >>>>>>>> >>>>>>>> >>>>>>>>> -----Original Message----- >>>>>>>>> From: lng-odp [mailto:lng-odp-boun...@lists.linaro.org] On Behalf Of >>>>>>>>> Bogdan Pricope >>>>>>>>> Sent: Monday, December 04, 2017 12:21 PM >>>>>>>>> To: Maxim Uvarov <maxim.uva...@linaro.org> >>>>>>>>> Cc: lng-odp-forward <lng-odp@lists.linaro.org> >>>>>>>>> Subject: Re: [lng-odp] odp dpdk >>>>>>>>> >>>>>>>>> I suspect this is actually caused by csum issue in TX side: on RX, >>>>>>>>> socket pktio does not validate csum (and accept the packets) but on >>>>>>>>> dpdk pktio the csum is validated and packets are dropped. >>>>>>>>> >>>>>>>>> I am not seeing this in my setup because default txq_flags for igb >>>>>>>>> driver (1G interface) is >>>>>>>>> >>>>>>>>> .txq_flags = 0 >>>>>>>>> >>>>>>>>> while for ixgbe (10G interface) is: >>>>>>>>> >>>>>>>>> .txq_flags = ETH_TXQ_FLAGS_NOMULTSEGS | >>>>>>>>> ETH_TXQ_FLAGS_NOOFFLOADS, >>>>>>>>> >>>>>>>>> >>>>>>>>> /B >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> On 1 December 2017 at 23:47, Maxim Uvarov <maxim.uva...@linaro.org> >>>>>>>>> wrote: >>>>>>>>>> >>>>>>>>>> Looking to dpdk pktio support and generator. It looks like receive >>>>>>>>>> part >>>>>>>>>> is broken. If for receive I use sockets it works well but receive >>>>>>>>>> with >>>>>>>>>> dpdk does not get any packets. For both master and api-next. Can >>>>>>>>>> somebody confirm please that it's so. Lava is not supper friendly to >>>>>>>>>> debug issue. >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> 1. Recv >>>>>>>>>> odp_generator -I 0 -m r -c 0x4 >>>>>>>>>> >>>>>>>>>> https://lng.validation.linaro.org/scheduler/job/23206.1 >>>>>>>>>> Network devices using DPDK-compatible driver >>>>>>>>>> ============================================ >>>>>>>>>> 0000:07:00.1 '82599ES 10-Gigabit SFI/SFP+ Network Connection 10fb' >>>>>>>>>> drv=igb_uio unused= >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> 2. Send >>>>>>>>>> odp_generator -I 0 --srcmac 38:ea:a7:93:98:94 --dstmac >>>>>>>>>> 38:ea:a7:93:83:a0 >>>>>>>>>> --srcip 192.168.100.2 --dstip 192.168.100.1 -m u -i 0 -c 0x8 -p 18 -e >>>>>>>>>> 5000 -f 5001 -n 800000000 >>>>>>>>>> >>>>>>>>>> https://lng.validation.linaro.org/scheduler/job/23206.0 >>>>>>>>>> >>>>>>>>>> Thank you, >>>>>>>>>> Maxim. >>>>>>>> >>>>>>>> >>>>>> >>>>>> >>>> >>