2016-11-14 4:10 GMT-08:00 Bodireddy, Bhanuprakash <
[email protected]>:

> 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.
>

Hi Bhanu,

I merged almost everything to master, with minor style fixes (I had to
convert some tabs to spaces).

Thanks for your work!

The only patch I left out is "cmap: Remove prefetching in
cmap_find_batch()."

With the patch applied (and emc disabled), compared to current master I see:
* A very small improvement with a single megaflow, single stream of 64
bytes UDP packets
* A more significant drop with 1000 megaflows, 1000 streams of 64 bytes UDP
packets

I just remembered that we also have a benchmark for the cmap:

tests/ovstest test-cmap benchmark 2000000 1 0.1 32

I run it with and without the patch and the patch seems to make the
benchmark slower (in particular I'm talking about the "batch search:" row)

As expected, it appears that prefetching introduces overhead for small
cmaps (1 or 2 flows) but it makes the performance better with bigger cmaps.

What do you think?  Have you tried this with bigger flow tables?

Thanks,

Daniele


>
> >-----Original Message-----
> >From: dev [mailto:[email protected]] On Behalf Of Bodireddy,
> >Bhanuprakash
> >Sent: Tuesday, October 18, 2016 5:24 PM
> >To: Daniele Di Proietto <[email protected]>
> >Cc: [email protected]
> >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:[email protected]]
> >>Sent: Tuesday, October 18, 2016 4:04 AM
> >>To: Bodireddy, Bhanuprakash <[email protected]>
> >>Cc: [email protected]
> >>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
> >><[email protected]>:
> >>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
> >>[email protected]
> >>http://openvswitch.org/mailman/listinfo/dev
> >
> >_______________________________________________
> >dev mailing list
> >[email protected]
> >http://openvswitch.org/mailman/listinfo/dev
>
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to