Sorry, I was multitasking last week and did not get a chance to finish the 
responses on Friday

I looked thru. the code for all the patches
The last 3 patches of V3 needed a manual merge; as you know, the series needs a 
rebase after recent commits.
For a full o/p batch case, I see about a 10% drop in pps; is that what you see ?
After applying each patch, we should be able to build and nothing should be 
broken, which is not the case since patch 4 has a function only used in patch 6.
I have some comments on the individual patches.

Darrell 

-----Original Message-----
From: <ovs-dev-boun...@openvswitch.org> on behalf of Bhanuprakash Bodireddy 
<bhanuprakash.bodire...@intel.com>
Date: Thursday, June 29, 2017 at 3:39 PM
To: "d...@openvswitch.org" <d...@openvswitch.org>
Subject: [ovs-dev] [PATCH v3 0/6] netdev-dpdk: Use intermediate queue during    
packet transmission.

    After packet classification, packets are queued in to batches depending
    on the matching netdev flow. Thereafter each batch is processed to
    execute the related actions. This becomes particularly inefficient if
    there are few packets in each batch as rte_eth_tx_burst() incurs expensive
    MMIO writes.
    
    This patch series implements intermediate queue for DPDK and vHost User 
ports.
    Packets are queued and burst when the packet count exceeds threshold. Also
    drain logic is implemented to handle cases where packets can get stuck in
    the tx queues at low rate traffic conditions. Care has been taken to see
    that latency is well with in the acceptable limits. Testing shows 
significant
    performance gains with this implementation.
    
    This path series combines the earlier 2 patches posted below.
      DPDK patch: 
https://urldefense.proofpoint.com/v2/url?u=https-3A__mail.openvswitch.org_pipermail_ovs-2Ddev_2017-2DApril_331039.html&d=DwICAg&c=uilaK90D4TOVoH58JNXRgQ&r=BVhFA09CGX7JQ5Ih-uZnsw&m=mfmTud95lZzZdILQFvPpn7UBeTpD_q-YENVoGQXZFog&s=Pqg7ZCr3Ypmyww79tJOxn1XTp5PG0FmK-zwcW6lJJ2U&e=
 
      vHost User patch: 
https://urldefense.proofpoint.com/v2/url?u=https-3A__mail.openvswitch.org_pipermail_ovs-2Ddev_2017-2DMay_332271.html&d=DwICAg&c=uilaK90D4TOVoH58JNXRgQ&r=BVhFA09CGX7JQ5Ih-uZnsw&m=mfmTud95lZzZdILQFvPpn7UBeTpD_q-YENVoGQXZFog&s=-_WLDFeO_nwkaOdrNHFtl_3uEwEDvEgUsQzabGB6fm8&e=
 
    
    Performance Numbers with intermediate queue:
    
                          DPDK ports
                         ===========
    
      Throughput for P2P scenario, for two 82599ES 10G port with 64 byte packets
    
      Number
      flows       MASTER     With PATCH
      ======    =========    =========
        10       10727283    13393844
        32        7042253    11228799
        50        7515491     9607791
       100        5838699     9430730
       500        5285066     7845807
      1000        5226477     7135601
    
       Latency test
    
       MASTER
       =======
       Pkt size  min(ns)  avg(ns)  max(ns)
        512      4,631      5,022    309,914
       1024      5,545      5,749    104,294
       1280      5,978      6,159     45,306
       1518      6,419      6,774    946,850
    
       PATCH
       =====
       Pkt size  min(ns)  avg(ns)  max(ns)
        512      4,711      5,064    182,477
       1024      5,601      5,888    701,654
       1280      6,018      6,491    533,037
       1518      6,467      6,734    312,471
    
                   vHost User ports
                  ==================
    
      Throughput for PV scenario, with 64 byte packets
    
       Number
       flows       MASTER    With PATCH
      ========  =========   =========
        10        5945899     7833914
        32        3872211     6530133
        50        3283713     6618711
       100        3132540     5857226
       500        2964499     5273006
      1000        2931952     5178038
    
      Latency test.
    
      MASTER
      =======
      Pkt size  min(ns)  avg(ns)  max(ns)
       512      10,011   12,100   281,915
      1024       7,870    9,313   193,116
      1280       7,862    9,036   194,439
      1518       8,215    9,417   204,782
    
      PATCH
      =======
      Pkt size  min(ns)  avg(ns)  max(ns)
       512      10,492   13,655   281,538
      1024       8,407    9,784   205,095
      1280       8,399    9,750   194,888
      1518       8,367    9,722   196,973
    
    Performance number reported by Eelco Chaudron <eechaudro at redhat.com> at
      
https://urldefense.proofpoint.com/v2/url?u=https-3A__mail.openvswitch.org_pipermail_ovs-2Ddev_2017-2DJune_333949.html&d=DwICAg&c=uilaK90D4TOVoH58JNXRgQ&r=BVhFA09CGX7JQ5Ih-uZnsw&m=mfmTud95lZzZdILQFvPpn7UBeTpD_q-YENVoGQXZFog&s=Ptu7JwRYKLoyoJmcupfCGFgtwH9gEtceUhrfYLUD8aM&e=
 
      
https://urldefense.proofpoint.com/v2/url?u=https-3A__mail.openvswitch.org_pipermail_ovs-2Ddev_2017-2DMay_332271.html&d=DwICAg&c=uilaK90D4TOVoH58JNXRgQ&r=BVhFA09CGX7JQ5Ih-uZnsw&m=mfmTud95lZzZdILQFvPpn7UBeTpD_q-YENVoGQXZFog&s=-_WLDFeO_nwkaOdrNHFtl_3uEwEDvEgUsQzabGB6fm8&e=
 
      
https://urldefense.proofpoint.com/v2/url?u=https-3A__mail.openvswitch.org_pipermail_ovs-2Ddev_2017-2DApril_331039.html&d=DwICAg&c=uilaK90D4TOVoH58JNXRgQ&r=BVhFA09CGX7JQ5Ih-uZnsw&m=mfmTud95lZzZdILQFvPpn7UBeTpD_q-YENVoGQXZFog&s=Pqg7ZCr3Ypmyww79tJOxn1XTp5PG0FmK-zwcW6lJJ2U&e=
 
    
    -----------------------------------
    v2->v3
      * Modified dpdk_do_tx_copy to buffer the packets.
      * Moved "Intermediate queue support" patch towards the end of series.
      * Flush the queues of non-pmd thread in dpif_netdev_run().
      * Removed the invalid comment for netdev_dpdk_vhost_txq_flush().
      * Updated vhost_txq_flush() to do extra validation and increment the drop 
count
        and free the memory.
      * Updated vring_state_changed() with flush function and appropriate 
comments.
      * Did sanity testing
        - (P2P, PVP(testpmd, linux forwarding)
        - Inter VM (VM2VM) 
        - PVP MQ test (with Queue enabled/disabled)
        - Tested flush logic on non PMD ports by pinging internal ports.
    v1->v2
      * Add Acked-by tag from Eelco Chaudron.
      * Rebased on master due to HW offload changes.
      * Introduced union for packet count and buffers and changed the variable
        names appropriately.
      * No functional change changes.
    
    Bhanuprakash Bodireddy (6):
      netdev: Add netdev_txq_flush function.
      netdev-dpdk: Add netdev_dpdk_txq_flush function.
      netdev-dpdk: Add netdev_dpdk_vhost_txq_flush function.
      netdev-dpdk: Add intermediate queue support.
      netdev-dpdk: Enable intermediate queue for vHost User port.
      dpif-netdev: Flush the packets in intermediate queue.
    
     lib/dpif-netdev.c     |  51 ++++++++++-
     lib/netdev-bsd.c      |   1 +
     lib/netdev-dpdk.c     | 228 
+++++++++++++++++++++++++++++++++++++++++++-------
     lib/netdev-dummy.c    |   1 +
     lib/netdev-linux.c    |   1 +
     lib/netdev-provider.h |   8 ++
     lib/netdev-vport.c    |   2 +-
     lib/netdev.c          |   9 ++
     lib/netdev.h          |   1 +
     9 files changed, 272 insertions(+), 30 deletions(-)
    
    -- 
    2.4.11
    
    _______________________________________________
    dev mailing list
    d...@openvswitch.org
    
https://urldefense.proofpoint.com/v2/url?u=https-3A__mail.openvswitch.org_mailman_listinfo_ovs-2Ddev&d=DwICAg&c=uilaK90D4TOVoH58JNXRgQ&r=BVhFA09CGX7JQ5Ih-uZnsw&m=mfmTud95lZzZdILQFvPpn7UBeTpD_q-YENVoGQXZFog&s=fPef9jD-T1CxbeMwf2XEfsSxYKAZRe-Xr68-P4Sh5ws&e=
 
    



















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

Reply via email to