[ovs-dev] [PATCH v2 0/7] PMD Testsuite.

Daniele Di Proietto diproiettod at vmware.com
Tue Jun 7 01:53:29 UTC 2016


Hi Ilya,

thanks for the series, I really appreciate the effort to test
the pmd threads.

I reviewed the whole series and it looks good to me, but I found
some problems with travis and non linux systems.

1 On FreeBSD (and I assume also on windows), the pmd tests fail,
  because ovs_numa_get_n_cores() returns OVS_CORE_UNSPEC and
  dpif-netdev refuses to add the port.  This could be easily
  solvable by skipping the tests on windows and BSD with
  AT_SKIP_IF.

2 When I try to run the pmd tests under valgrind, I get a failure,
  because of a timeout.  I've tried adding a sched_yield() in
  netdev_dummy_rxq_recv() and the issue seems to be fixed, so maybe
  we can do that.

3 When the tests are run as a non root user, pthread_setaffinity_np()
  fails, causing the travis build to fail:
  
  https://travis-ci.org/ddiproietto/ovs/jobs/135744944#L7953

My idea to address 1 and 3 (I'm especially concerned about 3) is to have
a dummy implementation for ovs-numa.  I've attempted that in the past,
when I tried to work on my dummy-pmd implementation, so I posted a
series here:

http://openvswitch.org/pipermail/dev/2016-June/072277.html

but I'm open to better ideas.  Feel free to ack or include my patches
in your series (or, if you have better ideas to discard them)

In the meantime I pushed everything except the tests to master.




Thanks,

Daniele

On 27/05/2016 06:32, "Ilya Maximets" <i.maximets at samsung.com> wrote:

>New 'dummy-pmd' class created in a purpose of testing of PMD interfaces.
>Added a bunch of PMD specific tests. Some already existing tests
>reused to run with 'dummy-pmd' interfaces.
>'appctl dpctl/flow-get' implemented for dpif-netdev with PMD threads.
>
>Version 2:
>	* 'dummy-pmd' implemented as a separate netdev_class.
>	  'dummy' and 'dummy-pmd' available at the same time.
>	* Proper multiqueue support implemented.
>	* Only few tests restarted with dummy-pmd.
>	  Restarting implemented similar to python2/3 case.
>	* Rebased on current master.
>
>Ilya Maximets (7):
>  netdev-dummy: Add dummy-pmd class.
>  dpif-netdev.at: Run tests with dummy-pmd.
>  dpctl: Implement dpctl/flow-get for dpif-netdev.
>  ofproto-dpif.at: Run tests with dummy-pmd.
>  ovs-vsctl.at: Use OVS_VSCTL_CLEANUP.
>  netdev-dummy: Add multiqueue support to dummy-pmd.
>  testsuite-pmd: Add PMD specific tests.
>
> lib/dpctl.c             |   3 +-
> lib/dpif-netdev.c       |  49 ++++++---
> lib/netdev-dummy.c      | 264 +++++++++++++++++++++++++++++++++---------------
> tests/automake.mk       |   1 +
> tests/dpif-netdev.at    | 146 ++++++++++++++------------
> tests/ofproto-dpif.at   | 149 +++++++++++++++------------
> tests/ofproto-macros.at |  31 ++++--
> tests/ovs-vsctl.at      |   6 +-
> tests/pmd.at            | 179 ++++++++++++++++++++++++++++++++
> tests/testsuite.at      |   1 +
> 10 files changed, 588 insertions(+), 241 deletions(-)
> create mode 100644 tests/pmd.at
>
>-- 
>2.5.0
>


More information about the dev mailing list