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

Daniele Di Proietto diproiettod at ovn.org
Tue Oct 18 03:03:52 UTC 2016


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
>



More information about the dev mailing list