[ovs-git] [openvswitch/ovs] 441cb3: docs/dpdk: Consolidate pmd-cpu-mask references.

GitHub noreply at github.com
Tue Aug 29 20:14:15 UTC 2017


  Branch: refs/heads/master
  Home:   https://github.com/openvswitch/ovs
  Commit: 441cb3ebc040e568c91a23cb1cc0c9647c934b81
      https://github.com/openvswitch/ovs/commit/441cb3ebc040e568c91a23cb1cc0c9647c934b81
  Author: Darrell Ball <dlu998 at gmail.com>
  Date:   2017-08-24 (Thu, 24 Aug 2017)

  Changed paths:
    M Documentation/intro/install/dpdk.rst

  Log Message:
  -----------
  docs/dpdk: Consolidate pmd-cpu-mask references.

The DPDK introductory documentation has various references to
pmd-cpu-mask, including a section devoted to it.  These parts of
the documentation seemed to have been written at different times
and look like they were individually ported from other sources.
They all include an example command which gets repeated several times.
Here, we consolidate those referenes to make the documentation
easier to maintain. At the same time, create linkages to the
pmd-cpu-mask section from other sections to provide some level of
coherence.

Reviewed-by: Greg rose <gvrose8192 at gmail.com>
Acked-by: Kevin Traynor <ktraynor at redhat.com>
Signed-off-by: Darrell Ball <dlu998 at gmail.com>


  Commit: 11d4c7a84326cfb6fac9eb2ca57a12d056b40b01
      https://github.com/openvswitch/ovs/commit/11d4c7a84326cfb6fac9eb2ca57a12d056b40b01
  Author: Darrell Ball <dlu998 at gmail.com>
  Date:   2017-08-24 (Thu, 24 Aug 2017)

  Changed paths:
    M lib/dp-packet.c
    M lib/dp-packet.h
    M lib/netdev-dpdk.c

  Log Message:
  -----------
  dp-packet: Refactor DPDK packet initialization.

DPDK uses dp-packet pools and manages the mbuf portion of
each packet. When a pool is created, partial initialization is
also done on the OVS portion (i.e. non-mbuf).  Since packet
memory is reused, this is not very useful for transient
fields and is also misleading.  Furthermore, some of these
transient fields are properly initialized for DPDK packets
entering OVS anyways, which is the only reasonable way to do this.
Another field, cutlen, is initialized in this manner in the pool
and intended to be reset when cutlen is applied on sending the
packet out. However, if cutlen context is set but the packet is
not sent out for some reason, then the packet header would be
corrupted in the memory pool.  It is better to just reset the
cutlen in the packets when received.  I did not detect a
degradation in performance, however, I would be willing to
have some degradation, since this is a proper way to handle
this.  In addition to initializing cutlen in received packets,
the other OVS transient fields are removed from the DPDK pool
initialization.

Acked-by: Sugesh Chandran <sugesh.chandran at intel.com>
Signed-off-by: Darrell Ball <dlu998 at gmail.com>


  Commit: 94053e66e3997dcf25dc1c1d0da0db6d57735388
      https://github.com/openvswitch/ovs/commit/94053e66e3997dcf25dc1c1d0da0db6d57735388
  Author: Fischetti, Antonio <antonio.fischetti at intel.com>
  Date:   2017-08-24 (Thu, 24 Aug 2017)

  Changed paths:
    M lib/conntrack.c
    M lib/conntrack.h
    M lib/dpif-netdev.c
    M tests/test-conntrack.c

  Log Message:
  -----------
  conntrack: pass current time to conntrack_execute.

Current time is passed to conntrack_execute so it doesn't have
to recompute it again.

Signed-off-by: Antonio Fischetti <antonio.fischetti at intel.com>
Acked by: Sugesh Chandran <sugesh.chandran at intel.com>
Signed-off-by: Darrell Ball <dlu998 at gmail.com>


  Commit: 84b705766012914ba7fc9083de11e3fec1d02f18
      https://github.com/openvswitch/ovs/commit/84b705766012914ba7fc9083de11e3fec1d02f18
  Author: Fischetti, Antonio <antonio.fischetti at intel.com>
  Date:   2017-08-25 (Fri, 25 Aug 2017)

  Changed paths:
    M lib/dp-packet.c
    M lib/dp-packet.h

  Log Message:
  -----------
  dp-packet: Use memcpy on dp_packet elements.

memcpy replaces the several single copies inside
dp_packet_clone_with_headroom().

Signed-off-by: Antonio Fischetti <antonio.fischetti at intel.com>
Signed-off-by: Darrell Ball <dlu998 at gmail.com>


  Commit: 922b28d435c48cf7f29db885ba1d6b31b705c5ac
      https://github.com/openvswitch/ovs/commit/922b28d435c48cf7f29db885ba1d6b31b705c5ac
  Author: Kevin Traynor <ktraynor at redhat.com>
  Date:   2017-08-25 (Fri, 25 Aug 2017)

  Changed paths:
    M lib/dpif-netdev.c

  Log Message:
  -----------
  dpif-netdev: Change polled_queue to use dp_netdev_rxq.

Soon we will want to store processing cycle counts in the dp_netdev_rxq,
so use that as a basis for the polled_queue that pmd_thread_main uses.

Signed-off-by: Kevin Traynor <ktraynor at redhat.com>
Signed-off-by: Darrell Ball <dlu998 at gmail.com>


  Commit: c59e759f332cf0975de6b33fe58803e479d2b16f
      https://github.com/openvswitch/ovs/commit/c59e759f332cf0975de6b33fe58803e479d2b16f
  Author: Kevin Traynor <ktraynor at redhat.com>
  Date:   2017-08-25 (Fri, 25 Aug 2017)

  Changed paths:
    M lib/dpif-netdev.c

  Log Message:
  -----------
  dpif-netdev: Add rxq processing cycle counters.

Add counters to dp_netdev_rxq which will later be used for storing the
processing cycles of an rxq. Processing cycles will be stored in reference
to a defined time interval. We will store the cycles of the current in progress
interval, a number of completed intervals and the sum of the completed
intervals.

cycles_count_intermediate was used to count cycles for a pmd. With some small
additions we can also use it to count the cycles used for processing an rxq.

Signed-off-by: Kevin Traynor <ktraynor at redhat.com>
Signed-off-by: Darrell Ball <dlu998 at gmail.com>


  Commit: 4809891b2e017dda95bb9cbacd470d0065fc7ce4
      https://github.com/openvswitch/ovs/commit/4809891b2e017dda95bb9cbacd470d0065fc7ce4
  Author: Kevin Traynor <ktraynor at redhat.com>
  Date:   2017-08-25 (Fri, 25 Aug 2017)

  Changed paths:
    M lib/dpif-netdev.c

  Log Message:
  -----------
  dpif-netdev: Count the rxq processing cycles for an rxq.

Count the cycles used for processing an rxq during the
pmd rxq interval. As this is an in flight counter and
pmds run independently, also store the total cycles used
during the last full interval.

Signed-off-by: Kevin Traynor <ktraynor at redhat.com>
Signed-off-by: Darrell Ball <dlu998 at gmail.com>


  Commit: 655856ef39b98dd854a2a764b1b2e88a020e3099
      https://github.com/openvswitch/ovs/commit/655856ef39b98dd854a2a764b1b2e88a020e3099
  Author: Kevin Traynor <ktraynor at redhat.com>
  Date:   2017-08-25 (Fri, 25 Aug 2017)

  Changed paths:
    M Documentation/howto/dpdk.rst
    M lib/dpif-netdev.c

  Log Message:
  -----------
  dpif-netdev: Change rxq_scheduling to use rxq processing cycles.

Previously rxqs were assigned to pmds by round robin in
port/queue order.

Now that we have the processing cycles used for existing rxqs,
use that information to try and produced a better balanced
distribution of rxqs across pmds. i.e. given multiple pmds, the
rxqs which have consumed the largest amount of processing cycles
will be placed on different pmds.

The rxqs are sorted by their processing cycles and assigned (in
sorted order) round robin across pmds.

Signed-off-by: Kevin Traynor <ktraynor at redhat.com>
Signed-off-by: Darrell Ball <dlu998 at gmail.com>


  Commit: 79da1e411ba5f7ed0f667b470d075ad83e7fc593
      https://github.com/openvswitch/ovs/commit/79da1e411ba5f7ed0f667b470d075ad83e7fc593
  Author: Kevin Traynor <ktraynor at redhat.com>
  Date:   2017-08-25 (Fri, 25 Aug 2017)

  Changed paths:
    M Documentation/howto/dpdk.rst
    M lib/dpif-netdev.c
    M tests/pmd.at

  Log Message:
  -----------
  dpif-netdev: Change pmd selection order.

Up to his point rxqs are sorted by processing cycles they
consumed and assigned to pmds in a round robin manner.

Ian pointed out that on wrap around the most loaded pmd will be
the next one to be assigned an additional rxq and that it would be
better to reverse the pmd order when wraparound occurs.

In other words, change from assigning by rr to assigning in a forward
and reverse cycle through pmds.

Also, now that the algorithm has finalized, document an example.

Suggested-by: Ian Stokes <ian.stokes at intel.com>
Signed-off-by: Kevin Traynor <ktraynor at redhat.com>
Signed-off-by: Darrell Ball <dlu998 at gmail.com>


  Commit: cd995c739a330dbcaee6433c08ecaad62791a56b
      https://github.com/openvswitch/ovs/commit/cd995c739a330dbcaee6433c08ecaad62791a56b
  Author: Kevin Traynor <ktraynor at redhat.com>
  Date:   2017-08-25 (Fri, 25 Aug 2017)

  Changed paths:
    M Documentation/howto/dpdk.rst
    M lib/dpif-netdev.c
    M vswitchd/ovs-vswitchd.8.in

  Log Message:
  -----------
  dpif-netdev: Add ovs-appctl dpif-netdev/pmd-rxq-rebalance.

Rxqs consumed processing cycles are used to improve the balance
of how rxqs are assigned to pmds. Currently some reconfiguration
is needed to perform a reassignment.

Add an ovs-appctl command to perform a new assignment in order
to balance based on the latest rxq processing cycle information.

Note: Jan requested this for testing purposes.

Suggested-by: Jan Scheurich <jan.scheurich at ericsson.com>
Signed-off-by: Kevin Traynor <ktraynor at redhat.com>
Signed-off-by: Darrell Ball <dlu998 at gmail.com>


  Commit: d8c5a93bd1f763938ac7fe0fef61151d29f97e1b
      https://github.com/openvswitch/ovs/commit/d8c5a93bd1f763938ac7fe0fef61151d29f97e1b
  Author: Lily Huang <huanglili.huang at huawei.com>
  Date:   2017-08-25 (Fri, 25 Aug 2017)

  Changed paths:
    M AUTHORS.rst
    M lib/conntrack.c

  Log Message:
  -----------
  conntrack: Fix ct-clean thread crash bug.

Conn should be removed from the connection expiry list when
the connection tracker experiences NAT resource exhaustion
and the connection needing NAT mapping cannot get it.
If this is not done, the connection tracker can crash during
cleanup of expired connections by the clean thread.

This crash will be triggered when a established flow do ct(nat)
again, like
"ip,actions=ct(table=1)
 table=1,in_port=1,ip,actions=ct(commit,nat(dst=5.5.5.5)),2
 table=1,in_port=2,ip,ct_state=+est,actions=1
 table=1,in_port=1,ip,ct_state=+est,actions=2"

Fixes: bd5e81a0e596 ("Userspace Datapath: Add ALG infra and FTP.")
Signed-off-by: Lili Huang <huanglili.huang at huawei.com>
Signed-off-by: Darrell Ball <dlu998 at gmail.com>


  Commit: 602c86681c93af6aa5ff5d9d40f7bf99d1020da1
      https://github.com/openvswitch/ovs/commit/602c86681c93af6aa5ff5d9d40f7bf99d1020da1
  Author: Lance Richardson <lrichard at redhat.com>
  Date:   2017-08-25 (Fri, 25 Aug 2017)

  Changed paths:
    M lib/netdev-dpdk.c

  Log Message:
  -----------
  netdev-dpdk: use 64-bit arithmetic when converting rates.

Force 64-bit arithmetic to be used when converting uint32_t rate
and burst parameters from kilobits per second to bytes per second,
avoiding incorrect behavior for rates exceeding UINT_MAX bits
per second.

Reported-by: "王志克" <wangzhike at jd.com>
Fixes: 9509913aa722 ("netdev-dpdk.c: Add ingress-policing functionality.")
Signed-off-by: Lance Richardson <lrichard at redhat.com>
Acked-By: Mark Michelson <mmichels at redhat.com>
Acked-by: Kevin Traynor <ktraynor at redhat.com>
Signed-off-by: Darrell Ball <dlu998 at gmail.com>


  Commit: 50986e7842d8bc5ecfbb1e0423cc449f166c76fb
      https://github.com/openvswitch/ovs/commit/50986e7842d8bc5ecfbb1e0423cc449f166c76fb
  Author: wangzhike <wangzhike at jd.com>
  Date:   2017-08-25 (Fri, 25 Aug 2017)

  Changed paths:
    M lib/netdev-dpdk.c

  Log Message:
  -----------
  netdev-dpdk: vhost get stats fix.

In netdev_dpdk_vhost_get_stats, '+=' was used in a few places
where '=' was expected.

Signed-off-by: wangzhike <wangzhike at jd.com>
Signed-off-by: Darrell Ball <dlu998 at gmail.com>


  Commit: e8b91cf3676939f9cb3f746c063b5f1e77c97d1c
      https://github.com/openvswitch/ovs/commit/e8b91cf3676939f9cb3f746c063b5f1e77c97d1c
  Author: Ben Pfaff <blp at ovn.org>
  Date:   2017-08-29 (Tue, 29 Aug 2017)

  Changed paths:
    M AUTHORS.rst
    M Documentation/howto/dpdk.rst
    M Documentation/intro/install/dpdk.rst
    M lib/conntrack.c
    M lib/conntrack.h
    M lib/dp-packet.c
    M lib/dp-packet.h
    M lib/dpif-netdev.c
    M lib/netdev-dpdk.c
    M tests/pmd.at
    M tests/test-conntrack.c
    M vswitchd/ovs-vswitchd.8.in

  Log Message:
  -----------
  Merge branch 'dpdk_merge' of https://github.com/darball/ovs.


Compare: https://github.com/openvswitch/ovs/compare/bce693e72a44...e8b91cf36769


More information about the git mailing list