[ovs-git] [openvswitch/ovs] 563c98: netdev-dpdk: Restore thread affinity after DPDK in...

GitHub noreply at github.com
Fri Apr 29 22:15:17 UTC 2016


  Branch: refs/heads/master
  Home:   https://github.com/openvswitch/ovs
  Commit: 563c98d86e77ba0345661e212137906747958db1
      https://github.com/openvswitch/ovs/commit/563c98d86e77ba0345661e212137906747958db1
  Author: Aaron Conole <aconole at redhat.com>
  Date:   2016-04-29 (Fri, 29 Apr 2016)

  Changed paths:
    M lib/netdev-dpdk.c

  Log Message:
  -----------
  netdev-dpdk: Restore thread affinity after DPDK init

When the DPDK init function is called, it changes the executing thread's
CPU affinity to a single core specified in -c. This will result in the
userspace bridge configuration thread being rebound, even if that is not
the intent.

This change fixes that behavior by rebinding to the original thread
affinity after calling dpdk_init().

Co-authored-by: Kevin Traynor <kevin.traynor at intel.com>
Signed-off-by: Kevin Traynor <kevin.traynor at intel.com>
Signed-off-by: Aaron Conole <aconole at redhat.com>
Tested-by: RobertX Wojciechowicz <robertx.wojciechowicz at intel.com>
Tested-by: Sean K Mooney <sean.k.mooney at intel.com>
Acked-by: Panu Matilainen <pmatilai at redhat.com>
Acked-by: Flavio Leitner <fbl at sysclose.org>
Acked-by: Daniele Di Proietto <diproiettod at vmware.com>


  Commit: bab6940971336510c1f4342cde0bc17da46b99f1
      https://github.com/openvswitch/ovs/commit/bab6940971336510c1f4342cde0bc17da46b99f1
  Author: Aaron Conole <aconole at redhat.com>
  Date:   2016-04-29 (Fri, 29 Apr 2016)

  Changed paths:
    M FAQ.md
    M INSTALL.DPDK.md
    M NEWS
    M lib/automake.mk
    M lib/netdev-dpdk.c
    M lib/netdev-dpdk.h
    A lib/netdev-nodpdk.c
    M lib/netdev.c
    M tests/ofproto-macros.at
    M utilities/ovs-dev.py
    M vswitchd/bridge.c
    M vswitchd/ovs-vswitchd.8.in
    M vswitchd/ovs-vswitchd.c
    M vswitchd/vswitch.xml

  Log Message:
  -----------
  netdev-dpdk: Convert initialization from cmdline to db

Existing DPDK integration is provided by use of command line options which
must be split out and passed to librte in a special manner. However, this
forces any configuration to be passed by way of a special DPDK flag, and
interferes with ovs+dpdk packaging solutions.

This commit delays dpdk initialization until after the OVS database
connection is established, at which point ovs initializes librte. It
pulls all of the config data from the OVS database, and assembles a
new argv/argc pair to be passed along.

Signed-off-by: Aaron Conole <aconole at redhat.com>
Acked-by: Kevin Traynor <kevin.traynor at intel.com>
Acked-by: Daniele Di Proietto <diproiettod at vmware.com>


  Commit: d8a8f353c23ee9bdcead2c3963819aba0701a595
      https://github.com/openvswitch/ovs/commit/d8a8f353c23ee9bdcead2c3963819aba0701a595
  Author: Aaron Conole <aconole at redhat.com>
  Date:   2016-04-29 (Fri, 29 Apr 2016)

  Changed paths:
    M lib/netdev-dpdk.c
    M vswitchd/vswitch.xml

  Log Message:
  -----------
  netdev-dpdk: Restrict vhost_sock_dir

Since the vhost-user sockets directory now comes from the database, it is
possible for any user with database access to program an arbitrary filesystem
location for the sockets directory. This could result in unprivileged users
creating or deleting arbitrary filesystem files by using specially crafted
names. To prevent this, 'vhost-sock-dir' is now relative to ovs_rundir()
and must not contain "..".

Signed-off-by: Aaron Conole <aconole at redhat.com>
Acked-by: Daniele Di Proietto <diproiettod at vmware.com>


  Commit: 88964e6428dc71cdc7eeb5ab913bc1a14f39c7ec
      https://github.com/openvswitch/ovs/commit/88964e6428dc71cdc7eeb5ab913bc1a14f39c7ec
  Author: Aaron Conole <aconole at redhat.com>
  Date:   2016-04-29 (Fri, 29 Apr 2016)

  Changed paths:
    M lib/netdev-dpdk.c

  Log Message:
  -----------
  netdev-dpdk: Autofill lcore coremask if absent

The user has control over the DPDK internal lcore coremask, but this
parameter can be autofilled with a bit more intelligence. If the user
does not fill this parameter in, we use the lowest set bit in the
current task CPU affinity. Otherwise, we will reassign the current
thread to the specified lcore mask, in addition to the dpdk lcore
threads.

Signed-off-by: Aaron Conole <aconole at redhat.com>
Tested-by: Sean K Mooney <sean.k.mooney at intel.com>
Tested-by: RobertX Wojciechowicz <robertx.wojciechowicz at intel.com>
Tested-by: Kevin Traynor <kevin.traynor at intel.com>
Acked-by: Panu Matilainen <pmatilai at redhat.com>
Acked-by: Kevin Traynor <kevin.traynor at intel.com>
Acked-by: Flavio Leitner <fbl at sysclose.org>
Acked-by: Daniele Di Proietto <diproiettod at vmware.com>


  Commit: eac84432a4785b9353071ffa74daa48dc29ad0b3
      https://github.com/openvswitch/ovs/commit/eac84432a4785b9353071ffa74daa48dc29ad0b3
  Author: Aaron Conole <aconole at redhat.com>
  Date:   2016-04-29 (Fri, 29 Apr 2016)

  Changed paths:
    M INSTALL.DPDK.md
    M NEWS
    M lib/netdev-dpdk.c
    M utilities/ovs-dev.py
    M vswitchd/vswitch.xml

  Log Message:
  -----------
  netdev-dpdk: Allow arbitrary eal arguments

A previous change moved some commonly used arguments from commandline to
the database, and with it the ability to pass arbitrary arguments to
EAL. This change allows arbitrary eal arguments to be provided
via a new db entry 'other_config:dpdk-extra' which will tokenize the
string and add it to the argument list. The only argument which will not
be supported with this change is '--no-huge', which appears to break the
system in other ways.

Signed-off-by: Aaron Conole <aconole at redhat.com>
Tested-by: Sean K Mooney <sean.k.mooney at intel.com>
Tested-by: RobertX Wojciechowicz <robertx.wojciechowicz at intel.com>
Tested-by: Kevin Traynor <kevin.traynor at intel.com>
Acked-by: Panu Matilainen <pmatilai at redhat.com>
Acked-by: Kevin Traynor <kevin.traynor at intel.com>
Acked-by: Flavio Leitner <fbl at sysclose.org>
Acked-by: Daniele Di Proietto <diproiettod at vmware.com>


  Commit: 52a57e36afc5caf8221f1430ccced31f288f2fb0
      https://github.com/openvswitch/ovs/commit/52a57e36afc5caf8221f1430ccced31f288f2fb0
  Author: Aaron Conole <aconole at redhat.com>
  Date:   2016-04-29 (Fri, 29 Apr 2016)

  Changed paths:
    M lib/netdev-dpdk.c

  Log Message:
  -----------
  netdev-dpdk: Check dpdk-extra when reading db

A previous patch introduced the ability to pass arbitrary EAL command
line options via the dpdk_extras database entry. This commit enhances
that by warning the user when such a configuration is detected and
prefering the value in the database.

Suggested-by: Sean K Mooney <sean.k.mooney at intel.com>
Signed-off-by: Aaron Conole <aconole at redhat.com>
Tested-by: Sean K Mooney <sean.k.mooney at intel.com>
Tested-by: Kevin Traynor <kevin.traynor at intel.com>
Acked-by: Panu Matilainen <pmatilai at redhat.com>
Acked-by: Flavio Leitner <fbl at sysclose.org>
Acked-by: Daniele Di Proietto <diproiettod at vmware.com>


Compare: https://github.com/openvswitch/ovs/compare/ace39a6f63d4...52a57e36afc5


More information about the git mailing list