On 8 September 2014 22:23, Joe Stringer <joestrin...@nicira.com> wrote:

> With v4 I've had a fairly good go at testing this series, for performance
> comparison and also compatibility with mixed older/newer
> datapath/userspace.
> Master appears to be able to revalidate roughly 130-140K flows per second
> with
> a single revalidator and many handlers. This series pushes this number up
> around 190-200K.
>
> I also looked a little into a 64-bit CityHash as an alternative to the
> 128-bit
> Murmurhash, based on the code available here:
> https://code.google.com/p/cityhash/source/browse/trunk/src/city.cc
>
> I was unable to observe much performance difference between the hash
> functions,
> so I guess that we don't spend enough time hashing for them to have a major
> impact on overall revalidation performance. There's probably more
> accessible
> optimizations to be made first. Given that the Murmurhash code has more
> bits to
> hash into and the implementation is simpler, I've stuck with this code for
> the
> moment.
>
> v4:
> - Datapath memory leak fixes
> - Enable UID-based terse dumping and deleting by default
> - Shifted UID generation down to dpif
> - Log flow UIDs in more places
> - Various fixes
>
> RFCv3:
> - Add datapath implementation
> - Minor fixes
> - Rebased
>
> RFCv2:
> - Revised early patches from v1 feedback
> - Add Acks from Ben
> - Rebased
>
> RFCv1:
> http://openvswitch.org/pipermail/dev/2014-August/044383.html
>
> Joe Stringer (12):
>   revalidator: Use 'cmap' for storing ukeys.
>   revalidator: Protect ukeys with a mutex.
>   udpif: Separate udpif_key maps from revalidators.
>   upcall: Rename dump_op -> ukey_op.
>   upcall: Create ukeys in handler threads.
>   upcall: Revalidate using cache of mask, actions.
>   hash: Add 128-bit murmurhash.
>   dpif: Add Unique flow identifiers.
>   datapath: Add support for OVS_FLOW_ATTR_UID.
>   revalidator: Reduce ukey contention.
>   revalidator: Distinguish new and duplicate flows.
>   upcall: Distinguish duplicate upcalls from conflicts.
>
>  datapath/datapath.c                               |  215 ++++--
>  datapath/flow.h                                   |   12 +-
>  datapath/flow_netlink.c                           |   60 ++
>  datapath/flow_netlink.h                           |    2 +
>  datapath/flow_table.c                             |  229 +++++-
>  datapath/flow_table.h                             |    5 +-
>  datapath/linux/compat/include/linux/openvswitch.h |   29 +
>  include/openvswitch/types.h                       |    5 +
>  lib/dpctl.c                                       |   14 +-
>  lib/dpif-linux.c                                  |  127 +--
>  lib/dpif-netdev.c                                 |  144 ++--
>  lib/dpif-provider.h                               |    9 +-
>  lib/dpif.c                                        |   47 +-
>  lib/dpif.h                                        |   31 +-
>  lib/flow.h                                        |    6 +
>  lib/hash.c                                        |  194 ++++-
>  lib/hash.h                                        |    4 +-
>  lib/odp-util.c                                    |   55 ++
>  lib/odp-util.h                                    |   25 +
>  ofproto/ofproto-dpif-upcall.c                     |  852
> ++++++++++++++-------
>  ofproto/ofproto-dpif-upcall.h                     |    1 +
>  ofproto/ofproto-dpif.c                            |   96 ++-
>  ofproto/ofproto-dpif.h                            |    2 +
>  tests/dpif-netdev.at                              |    5 +
>  tests/ofproto-dpif.at                             |   28 +-
>  tests/ofproto-macros.at                           |    1 +
>  26 files changed, 1656 insertions(+), 542 deletions(-)
>
> --
> 1.7.10.4
>
> _______________________________________________
> dev mailing list
> dev@openvswitch.org
> http://openvswitch.org/mailman/listinfo/dev
>

To assist review, the branch is also available here:
https://github.com/joestringer/openvswitch/tree/submit/ufid_v4
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to