From: Jerin Jacob <jerin.jacob@caviumnetworks.com>
To: Harry van Haaren <harry.van.haaren@intel.com>
Cc: <dev@dpdk.org>
Subject: Re: [dpdk-dev] [PATCH v2 00/15] next-eventdev: event/sw software eventdev
Date: Mon, 6 Feb 2017 13:37:18 +0530 [thread overview]
Message-ID: <20170206080717.GA25242@localhost.localdomain> (raw)
In-Reply-To: <1485879273-86228-1-git-send-email-harry.van.haaren@intel.com>
On Tue, Jan 31, 2017 at 04:14:18PM +0000, Harry van Haaren wrote:
> The following patchset adds software eventdev implementation
> to the next-eventdev tree.
>
> This implementation is based on the previous software eventdev
> v1 patchset, now with comments addressed:
> 1) xstats api return values changed to be consistent
> 2) xstats api [out] added to appropriate values
> 3) xstats api now uses xxx_get() for consistency
> 4) patch names for check-log.sh
Nice to have name the in bracket who suggested it.
> 5) checkpatch issues resolved (where it makes sense to, there are
> certain places where fixing checkpatch makes the code less readable.
> These checkpatch warnings will still show up - I see no alternative)
I agree. Except a few lines in the test code with
rte_event_dev_xstats_by_name_get
>
> In addition, the following improvements have been made to the patchset:
> 1) Adds test to run automatically with make test
> 2) Rework the sw implementation event credit scheme
>
> The first two patches make changes to the eventdev API,
> then the software implementation is added, and finally
> tests are added for the sw eventdev implementation.
Two issue found in testing. If it makes sense, fix it in test code or
implementation
1) Running eventdev_common_autotest with event_sw0
sudo ./build/app/test --vdev='event_sw0'
RTE>>eventdev_common_autotest
TestCase test_eventdev_port_setup() line 437 failed: Expected -EINVAL, 0
+ TestCase [11] : test_eventdev_port_setup failed
+ TestCase [12] : test_eventdev_dequeue_depth succeeded
+ TestCase [13] : test_eventdev_enqueue_depth succeeded
+ TestCase [14] : test_eventdev_port_count succeeded
TestCase test_eventdev_timeout_ticks() line 522 failed (err -95): Fail
to get timeout_ticks
+ TestCase [15] : test_eventdev_timeout_ticks failed
sw_start 543: queue 0 not configured
TestCase test_eventdev_start_stop() line 547 failed (err -1): Failed to
start device0
+ TestCase [16] : test_eventdev_start_stop failed
sw_start 543: queue 0 not configured
TestCase eventdev_setup_device() line 573 failed (err -1): Failed to
start device0
EVENTDEV: rte_event_dev_stop() line 1026: Device with dev_id=0already
stopped
+ TestCase [17] : test_eventdev_link failed
sw_start 543: queue 0 not configured
TestCase eventdev_setup_device() line 573 failed (err -1): Failed to
start device0
EVENTDEV: rte_event_dev_stop() line 1026: Device with dev_id=0already
stopped
+ TestCase [18] : test_eventdev_unlink failed
sw_start 543: queue 0 not configured
TestCase eventdev_setup_device() line 573 failed (err -1): Failed to
start device0
EVENTDEV: rte_event_dev_stop() line 1026: Device with dev_id=0already
stopped
+ TestCase [19] : test_eventdev_link_get failed
sw_start 543: queue 0 not configured
TestCase eventdev_setup_device() line 573 failed (err -1): Failed to
start device0
+ TestCase [20] : test_eventdev_close failed
PMD: Initializing event_skeleton1 on NUMA node 0
2) back to back eventdev_sw_autotest invocation
RTE>>eventdev_sw_autotest
1926: Eventdev event_sw0 not found - creating.
PMD: Creating eventdev sw device event_sw0, numa_node=0,
sched_quanta=128, credit_quanta=32
*** Running Single Directed Packet test...
*** Running Single Load Balanced Packet test...
*** Running Unordered Basic test...
*** Running Ordered Basic test...
*** Running Burst Packets test...
*** Running Load Balancing test...
*** Running Prioritized Directed test...
*** Running Prioritized Atomic test...
*** Running Prioritized Ordered test...
*** Running Prioritized Unordered test...
*** Running Invalid QID test...
*** Running Load Balancing History test...
*** Running Inflight Count test...
*** Running Abuse Inflights test...
*** Running QID Priority test...
*** Running Head-of-line-blocking test...
*** Running Worker loopback test...
1791: Producer function started
1731: Worker function started
1889: Sched Rx = 10713728, Tx = 10713248
1889: Sched Rx = 21422880, Tx = 21422400
1889: Sched Rx = 32066688, Tx = 32066208
Test OK
RTE>>eventdev_
eventdev_common_autotest [Mul-choice STRING]: launch autotest
eventdev_sw_autotest [Mul-choice STRING]: launch autotest
RTE>>eventdev_sw_autotest
*** Running Single Directed Packet test...
*** Running Single Load Balanced Packet test...
*** Running Unordered Basic test...
*** Running Ordered Basic test...
*** Running Burst Packets test...
*** Running Load Balancing test...
*** Running Prioritized Directed test...
*** Running Prioritized Atomic test...
*** Running Prioritized Ordered test...
*** Running Prioritized Unordered test...
*** Running Invalid QID test...
*** Running Load Balancing History test...
*** Running Inflight Count test...
*** Running Abuse Inflights test...
*** Running QID Priority test...
*** Running Head-of-line-blocking test...
*** Running Worker loopback test...
1791: Producer function started
1731: Worker function started
1889: Sched Rx = 502401, Tx = 501860
1889: Sched Rx = 502401, Tx = 501860
1889: Sched Rx = 502401, Tx = 501860
1889: Sched Rx = 502401, Tx = 501860
1889: Sched Rx = 502401, Tx = 501860
EventDev todo-fix-name: ports 2, qids 8
rx 502401
drop 0
tx 501860
sched calls: 6797287
sched cq/qid call: 6818630
sched no IQ enq: 6783503
sched no CQ enq: 6781603
inflight 4000, credits: 96
Port 0
rx 4637 drop 0 tx 0 inflight 0
Avg cycles PP: 0 Credits: 3
Receive burst distribution:
0:-nan%
rx ring used: 0 free: 4096
cq ring used: 0 free: 32
Port 1
rx 497764 drop 0 tx 501860 inflight 4096
Avg cycles PP: 99 Credits: 33
Receive burst distribution:
0:100% 1-4:0.00% 29-32:0.01%
rx ring used: 4068 free: 28
cq ring used: 0 free: 32
Queue 0 (Atomic)
rx 63682 drop 0 tx 63652
Inflights: 642 Flows pinned per port: 0 638
iq 0: Used 30 Free 481
Queue 1 (Atomic)
rx 63010 drop 0 tx 63010
Inflights: 0 Flows pinned per port: 0 0
-- iqs empty --
Queue 2 (Atomic)
rx 63010 drop 0 tx 63010
Inflights: 0 Flows pinned per port: 0 0
-- iqs empty --
Queue 3 (Atomic)
rx 63010 drop 0 tx 63010
Inflights: 0 Flows pinned per port: 0 0
-- iqs empty --
Queue 4 (Atomic)
rx 63010 drop 0 tx 63010
Inflights: 0 Flows pinned per port: 0 0
-- iqs empty --
Queue 5 (Atomic)
rx 63010 drop 0 tx 63010
Inflights: 0 Flows pinned per port: 0 0
-- iqs empty --
Queue 6 (Atomic)
rx 63010 drop 0 tx 63010
Inflights: 2351 Flows pinned per port: 0 1009
-- iqs empty --
Queue 7 (Atomic)
rx 60659 drop 0 tx 60148
Inflights: 1103 Flows pinned per port: 0 937
iq 0: Used 511 Free 0
1899: No schedules for seconds, deadlock
ERROR - Worker loopback test FAILED.
Test Failed
RTE>>[
>
> This patchset contains the work of multiple developers,
> please see signoffs on each patch.
>
> Signed-off-by: Harry van Haaren <harry.van.haaren@intel.com>
>
>
> Bruce Richardson (15):
> eventdev: remove unneeded dependencies
> eventdev: add APIs for extended stats
> event/sw: add new software-only eventdev driver
> event/sw: add device capabilities function
> event/sw: add configure function
> event/sw: add fns to return default port/queue config
> event/sw: add support for event queues
> event/sw: add support for event ports
> event/sw: add support for linking queues to ports
> event/sw: add worker core functions
> event/sw: add scheduling logic
> event/sw: add start stop and close functions
> event/sw: add dump function for easier debugging
> event/sw: add xstats support
> app/test: add unit tests for SW eventdev driver
>
> app/test/Makefile | 5 +-
> app/test/autotest_data.py | 26 +
> app/test/test_sw_eventdev.c | 2071 +++++++++++++++++++++++++
> config/common_base | 5 +
> drivers/event/Makefile | 1 +
> drivers/event/sw/Makefile | 69 +
> drivers/event/sw/event_ring.h | 179 +++
> drivers/event/sw/iq_ring.h | 176 +++
> drivers/event/sw/rte_pmd_evdev_sw_version.map | 3 +
> drivers/event/sw/sw_evdev.c | 754 +++++++++
> drivers/event/sw/sw_evdev.h | 291 ++++
> drivers/event/sw/sw_evdev_scheduler.c | 602 +++++++
> drivers/event/sw/sw_evdev_worker.c | 186 +++
> drivers/event/sw/sw_evdev_xstats.c | 404 +++++
> lib/librte_eventdev/Makefile | 1 -
> lib/librte_eventdev/rte_eventdev.c | 63 +
> lib/librte_eventdev/rte_eventdev.h | 85 +-
> lib/librte_eventdev/rte_eventdev_pmd.h | 60 +
> lib/librte_eventdev/rte_eventdev_version.map | 3 +
> mk/rte.app.mk | 1 +
> 20 files changed, 4981 insertions(+), 4 deletions(-)
> create mode 100644 app/test/test_sw_eventdev.c
> create mode 100644 drivers/event/sw/Makefile
> create mode 100644 drivers/event/sw/event_ring.h
> create mode 100644 drivers/event/sw/iq_ring.h
> create mode 100644 drivers/event/sw/rte_pmd_evdev_sw_version.map
> create mode 100644 drivers/event/sw/sw_evdev.c
> create mode 100644 drivers/event/sw/sw_evdev.h
> create mode 100644 drivers/event/sw/sw_evdev_scheduler.c
> create mode 100644 drivers/event/sw/sw_evdev_worker.c
> create mode 100644 drivers/event/sw/sw_evdev_xstats.c
>
> --
> 2.7.4
>
next prev parent reply other threads:[~2017-02-06 8:07 UTC|newest]
Thread overview: 91+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1484580885-148524-1-git-send-email-harry.van.haaren@intel.com>
2017-01-31 16:14 ` Harry van Haaren
2017-01-31 16:14 ` [dpdk-dev] [PATCH v2 01/15] eventdev: remove unneeded dependencies Harry van Haaren
2017-02-06 8:12 ` Jerin Jacob
2017-02-08 14:35 ` Jerin Jacob
2017-01-31 16:14 ` [dpdk-dev] [PATCH v2 02/15] eventdev: add APIs for extended stats Harry van Haaren
2017-02-06 8:22 ` Jerin Jacob
2017-02-06 10:37 ` Van Haaren, Harry
2017-02-07 6:24 ` Jerin Jacob
2017-02-09 14:04 ` Van Haaren, Harry
2017-01-31 16:14 ` [dpdk-dev] [PATCH v2 03/15] event/sw: add new software-only eventdev driver Harry van Haaren
2017-02-06 8:32 ` Jerin Jacob
2017-01-31 16:14 ` [dpdk-dev] [PATCH v2 04/15] event/sw: add device capabilities function Harry van Haaren
2017-02-06 8:34 ` Jerin Jacob
2017-01-31 16:14 ` [dpdk-dev] [PATCH v2 05/15] event/sw: add configure function Harry van Haaren
2017-01-31 16:14 ` [dpdk-dev] [PATCH v2 06/15] event/sw: add fns to return default port/queue config Harry van Haaren
2017-01-31 16:14 ` [dpdk-dev] [PATCH v2 07/15] event/sw: add support for event queues Harry van Haaren
2017-02-06 9:25 ` Jerin Jacob
2017-02-06 10:25 ` Van Haaren, Harry
2017-02-07 6:58 ` Jerin Jacob
2017-02-07 9:58 ` Van Haaren, Harry
2017-01-31 16:14 ` [dpdk-dev] [PATCH v2 08/15] event/sw: add support for event ports Harry van Haaren
2017-01-31 16:14 ` [dpdk-dev] [PATCH v2 09/15] event/sw: add support for linking queues to ports Harry van Haaren
2017-02-06 9:37 ` Jerin Jacob
2017-01-31 16:14 ` [dpdk-dev] [PATCH v2 10/15] event/sw: add worker core functions Harry van Haaren
2017-01-31 16:14 ` [dpdk-dev] [PATCH v2 11/15] event/sw: add scheduling logic Harry van Haaren
2017-01-31 16:14 ` [dpdk-dev] [PATCH v2 12/15] event/sw: add start stop and close functions Harry van Haaren
2017-01-31 16:14 ` [dpdk-dev] [PATCH v2 13/15] event/sw: add dump function for easier debugging Harry van Haaren
2017-01-31 16:14 ` [dpdk-dev] [PATCH v2 14/15] event/sw: add xstats support Harry van Haaren
2017-01-31 16:14 ` [dpdk-dev] [PATCH v2 15/15] app/test: add unit tests for SW eventdev driver Harry van Haaren
2017-02-08 10:23 ` Jerin Jacob
2017-02-08 10:44 ` Van Haaren, Harry
2017-02-13 10:28 ` Jerin Jacob
2017-02-13 10:45 ` Bruce Richardson
2017-02-13 11:21 ` Jerin Jacob
2017-02-08 18:02 ` Nipun Gupta
2017-02-13 11:37 ` Jerin Jacob
2017-02-11 9:13 ` Jerin Jacob
2017-02-06 8:07 ` Jerin Jacob [this message]
2017-02-06 10:14 ` [dpdk-dev] [PATCH v2 00/15] next-eventdev: event/sw software eventdev Van Haaren, Harry
2017-02-17 14:53 ` [dpdk-dev] [PATCH v3 00/17] " Harry van Haaren
2017-02-17 14:53 ` [dpdk-dev] [PATCH v3 01/17] eventdev: fix API docs and test for timeout ticks Harry van Haaren
2017-02-20 15:22 ` Mcnamara, John
2017-03-06 10:33 ` Jerin Jacob
2017-03-10 15:24 ` Van Haaren, Harry
2017-03-08 10:35 ` [dpdk-dev] [PATCH] eventdev: improve API docs " Harry van Haaren
2017-03-13 8:48 ` Jerin Jacob
2017-02-17 14:53 ` [dpdk-dev] [PATCH v3 02/17] eventdev: increase size of enq deq conf variables Harry van Haaren
2017-02-19 12:05 ` Jerin Jacob
2017-02-17 14:53 ` [dpdk-dev] [PATCH v3 03/17] app/test: eventdev link all queues before start Harry van Haaren
2017-02-19 12:09 ` Jerin Jacob
2017-02-17 14:53 ` [dpdk-dev] [PATCH v3 04/17] eventdev: add APIs for extended stats Harry van Haaren
2017-02-19 12:32 ` Jerin Jacob
2017-02-20 12:12 ` Van Haaren, Harry
2017-02-20 12:34 ` Jerin Jacob
2017-02-17 14:54 ` [dpdk-dev] [PATCH v3 05/17] event/sw: add new software-only eventdev driver Harry van Haaren
2017-02-19 12:37 ` Jerin Jacob
2017-02-17 14:54 ` [dpdk-dev] [PATCH v3 06/17] event/sw: add device capabilities function Harry van Haaren
2017-02-17 14:54 ` [dpdk-dev] [PATCH v3 07/17] event/sw: add configure function Harry van Haaren
2017-02-17 14:54 ` [dpdk-dev] [PATCH v3 08/17] event/sw: add fns to return default port/queue config Harry van Haaren
2017-02-17 14:54 ` [dpdk-dev] [PATCH v3 09/17] event/sw: add support for event queues Harry van Haaren
2017-02-17 14:54 ` [dpdk-dev] [PATCH v3 10/17] event/sw: add support for event ports Harry van Haaren
2017-02-17 14:54 ` [dpdk-dev] [PATCH v3 11/17] event/sw: add support for linking queues to ports Harry van Haaren
2017-02-17 14:54 ` [dpdk-dev] [PATCH v3 12/17] event/sw: add worker core functions Harry van Haaren
2017-02-17 14:54 ` [dpdk-dev] [PATCH v3 13/17] event/sw: add scheduling logic Harry van Haaren
2017-02-17 14:54 ` [dpdk-dev] [PATCH v3 14/17] event/sw: add start stop and close functions Harry van Haaren
2017-02-17 14:54 ` [dpdk-dev] [PATCH v3 15/17] event/sw: add dump function for easier debugging Harry van Haaren
2017-02-17 14:54 ` [dpdk-dev] [PATCH v3 16/17] event/sw: add xstats support Harry van Haaren
2017-02-17 14:54 ` [dpdk-dev] [PATCH v3 17/17] app/test: add unit tests for SW eventdev driver Harry van Haaren
2017-03-10 19:43 ` [dpdk-dev] [PATCH v4 00/17] next-eventdev: event/sw software eventdev Harry van Haaren
2017-03-10 19:43 ` [dpdk-dev] [PATCH v4 01/17] eventdev: increase size of enq deq conf variables Harry van Haaren
2017-03-13 8:47 ` Jerin Jacob
2017-03-10 19:43 ` [dpdk-dev] [PATCH v4 02/17] app/test: eventdev link all queues before start Harry van Haaren
2017-03-20 4:46 ` Jerin Jacob
2017-03-23 10:18 ` Jerin Jacob
2017-03-10 19:43 ` [dpdk-dev] [PATCH v4 03/17] test/eventdev: rework timeout ticks test Harry van Haaren
2017-03-10 19:43 ` [dpdk-dev] [PATCH v4 04/17] eventdev: add APIs for extended stats Harry van Haaren
2017-03-17 12:22 ` Jerin Jacob
2017-03-23 10:20 ` Jerin Jacob
2017-03-10 19:43 ` [dpdk-dev] [PATCH v4 05/17] event/sw: add new software-only eventdev driver Harry van Haaren
2017-03-10 19:43 ` [dpdk-dev] [PATCH v4 06/17] event/sw: add device capabilities function Harry van Haaren
2017-03-10 19:43 ` [dpdk-dev] [PATCH v4 07/17] event/sw: add configure function Harry van Haaren
2017-03-10 19:43 ` [dpdk-dev] [PATCH v4 08/17] event/sw: add fns to return default port/queue config Harry van Haaren
2017-03-10 19:43 ` [dpdk-dev] [PATCH v4 09/17] event/sw: add support for event queues Harry van Haaren
2017-03-10 19:43 ` [dpdk-dev] [PATCH v4 10/17] event/sw: add support for event ports Harry van Haaren
2017-03-10 19:43 ` [dpdk-dev] [PATCH v4 11/17] event/sw: add support for linking queues to ports Harry van Haaren
2017-03-10 19:43 ` [dpdk-dev] [PATCH v4 12/17] event/sw: add worker core functions Harry van Haaren
2017-03-10 19:43 ` [dpdk-dev] [PATCH v4 13/17] event/sw: add scheduling logic Harry van Haaren
2017-03-10 19:43 ` [dpdk-dev] [PATCH v4 14/17] event/sw: add start stop and close functions Harry van Haaren
2017-03-10 19:43 ` [dpdk-dev] [PATCH v4 15/17] event/sw: add dump function for easier debugging Harry van Haaren
2017-03-10 19:43 ` [dpdk-dev] [PATCH v4 16/17] event/sw: add xstats support Harry van Haaren
2017-03-10 19:43 ` [dpdk-dev] [PATCH v4 17/17] app/test: add unit tests for SW eventdev driver Harry van Haaren
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170206080717.GA25242@localhost.localdomain \
--to=jerin.jacob@caviumnetworks.com \
--cc=dev@dpdk.org \
--cc=harry.van.haaren@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).