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.maxim...@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 > _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev