Hi Antonio, great, thank you very much for performing this tests and share the results
On 25/04/2016 07:00, "Fischetti, Antonio" <antonio.fische...@intel.com> wrote: >Hi Daniele, >below are > - Regression Tests results > - ALWAYS_INLINE check > > >Regression Tests on Performance >=============================== > >I did some regression tests on performance, it looks like there's >no performance drop. > >I've sent mono-directional data with 64-Byte packets at line rate >on one ixia port (Tx) and read the receiving rate on the other ixia >port (Rx), regardless of packet loss. > >Below the 2 tests I did and then a table with performance figures. > >I’ve used OVS master @ Commit ID: d87091c2a1f9d3db1a2352eba1b609405122d15a >and compared results with and without the ConnTracker v2 patches. > > >Test #1: 'Phy-to-Phy' >--------------------- > > +-----+ >-->[ Port 1 (dpdk) ]---| | > | OVS | ><--[ Port 2 (dpdk) ]---| | > +-----+ > >ovs-ofctl add-flow br0 in_port=1,action=output:2 > > > >Test #2: Phy-VM-Phy with vHost-User >----------------------------------- > > +-----+ +--------------+ >-->[ Port 1 (dpdk) ]---| |---[ Port 4 (dpdkvhostuser) ]---| | > | OVS | | testpmd @ VM | > ><--[ Port 3 (dpdk) ]---| |---[ Port 2 (dpdkvhostuser) ]---| | > +-----+ +--------------+ > >ovs-ofctl add-flow br0 idle_timeout=0,in_port=1,action=output:4 >ovs-ofctl add-flow br0 idle_timeout=0,in_port=2,action=output:3 > > > >Performance figures >------------------- > > +----------------+-------------------+ > | OVS master | OVS master 2.5 + | > | | C.T. Patches v2 | >+------------------+----------------+-------------------+ >| Phy-to-Phy | 13.49 Mpps | 13.46 Mpps | >+------------------+----------------+-------------------+ >| PVP (vHost-User) | 5.6 Mpps | 5.6 Mpps | >+------------------+----------------+-------------------+ > > > >ALWAYS_INLINE >============= >I've also checked what we already discussed with the patch set v1. >I applied patches one by one and measured the performance, it seems >that ALWAYS_INLINE in parse_vlan() and parse_ethertype() has fixed >the performance regression issue. > > > >Antonio > > >> -----Original Message----- >> From: dev [mailto:dev-boun...@openvswitch.org] On Behalf Of Daniele Di >> Proietto >> Sent: Saturday, April 16, 2016 1:03 AM >> To: dev@openvswitch.org >> Subject: [ovs-dev] [PATCH v2 00/15] Userspace (DPDK) connection tracker >> >> This series aims to implement the ct() action for the dpif-netdev datapath. >> The bulk of the code is in the new conntrack module: it contains some packet >> parsing code, some lookup tables and the logic to implements all the ct bits. >> >> The conntrack module is helped by conntrack-tcp, for TCP window and flags >> tracking: the bulk of the code of this submodule is from the FreeBSD's pf >> subsystem, therefore is BSD licensed. >> >> The rest of the series integrates the connection tracker with the rest of >> OVS: the ct() action is implemented in dpif-netdev, and the debugging >> interfaces required by dpctl/{dump,flush}-conntrack are implemented. >> >> Besides adding some unit tests, this series ports the existing conntrack >> system test to the userspace datapath. Some small modifications are >> required to pass the testsuite, and some tests still have to be skipped. >> >> On newer kernels the userspace testsuite has some problems with offloads, >> so a workaround is included. >> >> This can also be downloaded at: >> >> https://github.com/ddiproietto/ovs/tree/userconntrack_20160415 >> >> Any feedback is appreciated, thanks. >> >> v1 -> v2: >> * Fixed bug in tcp_get_wscale(), related to TCP options parsing. >> * Changed names of ICMP constants: now they're different from Linux and >> FreeBSD. >> * Fixed bug in parse_ipv6_ext_hdrs(). >> * Used ALWAYS_INLINE in parse_vlan and parse_ethertype, to avoid a >> performance regression in miniflow_extract(). >> * Updated copyright info in COPYING and debian/copyright.in. >> * Rebased. >> * Changed batching strategy in conntrack_execute() to allow a newly >> created connection to be picked up by packets in the same batch. >> * Added an ovs-test module to throw pcap files at the connection tracker. >> * Added a workaround for the userspace testsuite on new kernels and a tcp >> non-conntrack test. >> >> Daniele Di Proietto (15): >> packets: Define ICMP types. >> flow: Export parse_ipv6_ext_hdrs(). >> flow: Introduce parse_dl_type(). >> conntrack: New userspace connection tracker. >> tests: Add very simple conntrack benchmark. >> tests: Add test-conntrack pcap test. >> conntrack: Implement flush function. >> conntrack: Implement dumping to ct_entry. >> dpif-netdev: Execute conntrack action. >> dpif-netdev: Implement conntrack dump functions. >> dpif-netdev: Implement conntrack flush interface. >> tests: Add conntrack ofproto-dpif tests. >> system-tests: Disable offloads in userspace tests. >> system-tests: Add tcp simple test. >> system-tests: Run conntrack tests with userspace >> >> COPYING | 1 + >> debian/copyright.in | 4 + >> lib/automake.mk | 5 + >> lib/conntrack-other.c | 91 ++++ >> lib/conntrack-private.h | 80 ++++ >> lib/conntrack-tcp.c | 510 ++++++++++++++++++++ >> lib/conntrack.c | 997 >> +++++++++++++++++++++++++++++++++++++++ >> lib/conntrack.h | 162 +++++++ >> lib/dpif-netdev.c | 138 +++++- >> lib/flow.c | 154 +++--- >> lib/flow.h | 4 + >> lib/packets.h | 14 +- >> tests/automake.mk | 1 + >> tests/dpif-netdev.at | 14 +- >> tests/ofproto-dpif.at | 698 ++++++++++++++++++++++++++- >> tests/system-common-macros.at | 1 + >> tests/system-kmod-macros.at | 35 ++ >> tests/system-traffic.at | 69 ++- >> tests/system-userspace-macros.at | 63 ++- >> tests/test-conntrack.c | 232 +++++++++ >> 20 files changed, 3164 insertions(+), 109 deletions(-) >> create mode 100644 lib/conntrack-other.c >> create mode 100644 lib/conntrack-private.h >> create mode 100644 lib/conntrack-tcp.c >> create mode 100644 lib/conntrack.c >> create mode 100644 lib/conntrack.h >> create mode 100644 tests/test-conntrack.c >> >> -- >> 2.1.4 >> >> _______________________________________________ >> dev mailing list >> dev@openvswitch.org >> http://openvswitch.org/mailman/listinfo/dev _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev