[ovs-dev] [PATCH v3 00/12] Improve performance of OVS-DPDK classifier.

Bodireddy, Bhanuprakash bhanuprakash.bodireddy at intel.com
Mon Nov 14 12:10:07 UTC 2016


Hello daniele,

Did you get a chance to review v4 of the remaining 4 patches in this series?  Also I have sent v5 of patch "dpcls: Use 32 packet batches for lookups"  separately based on your comments. 

Bhanu Prakash. 

>-----Original Message-----
>From: dev [mailto:dev-bounces at openvswitch.org] On Behalf Of Bodireddy,
>Bhanuprakash
>Sent: Tuesday, October 18, 2016 5:24 PM
>To: Daniele Di Proietto <diproiettod at ovn.org>
>Cc: dev at openvswitch.org
>Subject: Re: [ovs-dev] [PATCH v3 00/12] Improve performance of OVS-DPDK
>classifier.
>
>Thanks daniele. Will send on the remaining patches with appropriate tags.
>
>Regards,
>Bhanu Prakash.
>
>>-----Original Message-----
>>From: Daniele Di Proietto [mailto:diproiettod at ovn.org]
>>Sent: Tuesday, October 18, 2016 4:04 AM
>>To: Bodireddy, Bhanuprakash <bhanuprakash.bodireddy at intel.com>
>>Cc: dev at openvswitch.org
>>Subject: Re: [ovs-dev] [PATCH v3 00/12] Improve performance of OVS-DPDK
>>classifier.
>>
>>Thanks for the series, I applied most of it to master.
>>I sent some comments on the few remaining patches.
>>Thanks again,
>>Daniele
>>
>>2016-10-14 7:37 GMT-07:00 Bhanuprakash Bodireddy
>><bhanuprakash.bodireddy at intel.com>:
>>This patch series is aimed at improving the performance of OVS-DPDK
>>dpcls.
>>
>>With few thousand flows installed, the EMC becomes inefficient due to
>>thrashing and the bottleneck moves to the dpcls. In EMC disabled case,
>>through VTune we found that significant performance degradation is due
>>to LLC thrashing, memory latency, machine clears and expensive hash
>>computation.
>>
>>This first patch-set improves the dpcls performance by 15% (+1 Mpps)
>>when EMC is disabled and OVS-DPDK built with CFLAGS="-O2 -g".
>>
>>Bhanuprakash Bodireddy (12):
>>  dpcls: Use 32 packet batches for lookups.
>>        Comment: ~120k performance throughput improvement.
>>
>>  flow: Add comments to mf_get_next_in_map().
>>        Comment: Add comments to the function.
>>
>>  flow: Skip invoking expensive count_1bits() with zero input.
>>        Comment: ~630k performance throughput improvement.
>>
>>  hash: Skip invoking mhash_add__() with zero input.
>>        Comment: ~150k performance throughput improvement.
>>
>>  dpif-netdev: Add comments to dp_netdev_input__().
>>        Comment: Add comments to the function.
>>
>>  cmap: Remove prefetching in cmap_find_batch().
>>        Comment: ~39k performance throughput improvement.
>>
>>  dpif-netdev: Cache align netdev_flow_keys.
>>        Comment: ~170k performance throughput improvement in EMC
>>enabled case.
>>
>>  dpif-netdev: Reorder elements in dp_netdev_port structure.
>>  dpif: Reorder elements in dpif_upcall structure.
>>  ovsdb: Reorder elements in ovsdb_table_schema structure.
>>  netlink-socket: Reorder elements in nl_dump structure.
>>  timeval: Reorder elements in clock structure.
>>        Comment: Reorder memeber variables of the structures to reduce
>>                 pad bytes and there by the memory footprint.
>>
>> lib/cmap.c           |   8 +---
>> lib/dpif-netdev.c    | 123
>>+++++++++++++++++++++++----------------------------
>> lib/dpif.h           |   5 ++-
>> lib/flow.h           |  47 +++++++++++++++-----
>> lib/hash.h           |   5 +++
>> lib/netlink-socket.h |   6 +--
>> lib/timeval.c        |   4 +-
>> ovsdb/table.h        |   4 +-
>> 8 files changed, 111 insertions(+), 91 deletions(-)
>>
>>--
>>2.4.11
>>
>>_______________________________________________
>>dev mailing list
>>dev at openvswitch.org
>>http://openvswitch.org/mailman/listinfo/dev
>
>_______________________________________________
>dev mailing list
>dev at openvswitch.org
>http://openvswitch.org/mailman/listinfo/dev


More information about the dev mailing list