[dpdk-dev] [PATCH] maintainers: resign from stack library

2020-10-29 Thread Gage Eads
I'm moving on to a new position in November and won't be able to continue as a stack library maintainer. Thanks to fellow maintainer Olivier, and the rest of the DPDK community, for the support over the past few years. Signed-off-by: Gage Eads --- MAINTAINERS | 1 - 1 file changed,

[dpdk-dev] [PATCH] event/sw: remove stale IQ references when reconfigured

2018-01-09 Thread Gage Eads
to 0, and iq_dequeue_burst() sets iq->head to the appropriate next pointer. Fixes: 5b5e476e59a4 ("event/sw: use dynamically-sized IQs") Signed-off-by: Gage Eads --- drivers/event/sw/iq_chunk.h | 14 +- drivers/event/sw/sw_evdev.c | 62 ---

[dpdk-dev] [PATCH v3 2/2] event/sw: support device stop flush callback

2018-03-14 Thread Gage Eads
This commit also adds a flush callback test to the sw eventdev's selftest suite. Signed-off-by: Gage Eads --- drivers/event/sw/sw_evdev.c | 25 ++- drivers/event/sw/sw_evdev_selftest.c | 80 +++- 2 files changed, 102 insertions(+), 3 dele

[dpdk-dev] [PATCH v3 1/2] eventdev: add device stop flush callback

2018-03-14 Thread Gage Eads
registered by any process that may call rte_event_dev_stop(). This commit also clarifies the behavior of rte_event_dev_stop(). This follows this mailing list discussion: http://dpdk.org/ml/archives/dev/2018-January/087484.html Signed-off-by: Gage Eads --- v2: allow a NULL callback pointer to unregister

[dpdk-dev] [PATCH v4 1/2] eventdev: add device stop flush callback

2018-03-20 Thread Gage Eads
registered by any process that may call rte_event_dev_stop(). This commit also clarifies the behavior of rte_event_dev_stop(). This follows this mailing list discussion: http://dpdk.org/ml/archives/dev/2018-January/087484.html Signed-off-by: Gage Eads --- v2: allow a NULL callback pointer to unregister

[dpdk-dev] [PATCH v4 2/2] event/sw: support device stop flush callback

2018-03-20 Thread Gage Eads
This commit also adds a flush callback test to the sw eventdev's selftest suite. Signed-off-by: Gage Eads --- drivers/event/sw/sw_evdev.c | 25 ++- drivers/event/sw/sw_evdev_selftest.c | 80 +++- 2 files changed, 102 insertions(+), 3 dele

[dpdk-dev] [PATCH v5] eventdev: add device stop flush callback

2018-04-02 Thread Gage Eads
be registered by any process that may call rte_event_dev_stop(). This commit also clarifies the behavior of rte_event_dev_stop(). This follows this mailing list discussion: http://dpdk.org/ml/archives/dev/2018-January/087484.html Signed-off-by: Gage Eads --- v2: allow a NULL callback pointer to

[dpdk-dev] [PATCH] event/sw: allow fwd and rel when out of credits

2017-09-08 Thread Gage Eads
event threshold checks accordingly. Signed-off-by: Gage Eads --- drivers/event/sw/sw_evdev_worker.c | 14 +- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/drivers/event/sw/sw_evdev_worker.c b/drivers/event/sw/sw_evdev_worker.c index d76d3d5..b3b3b17 100644 --- a/drivers/

[dpdk-dev] [PATCH 0/3] Extend port and queue attribute get functions

2017-09-20 Thread Gage Eads
This patchset makes the full queue and port configuration structures accessible through the attribute get functions, adds tests for the new attributes, and fixes one bug in a port attribute get test. This patchset is based on patches 29019 through 29023. Gage Eads (3): eventdev: extend queue

[dpdk-dev] [PATCH 3/3] test/eventdev: fix bug in port enqueue depth test

2017-09-20 Thread Gage Eads
The enqueue depth test was comparing the port's dequeue depth against its enqueue depth. Fixes: 410c5bccdadc ("eventdev: add port attribute function") Signed-off-by: Gage Eads --- test/test/test_eventdev.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --

[dpdk-dev] [PATCH 2/3] eventdev: extend port attribute get function

2017-09-20 Thread Gage Eads
This commit adds the new_event_threshold port attribute, so the entire port configuration structure passed to rte_event_queue_setup can be queried. Signed-off-by: Gage Eads --- lib/librte_eventdev/rte_eventdev.c | 71 -- lib/librte_eventdev/rte_eventdev.h

[dpdk-dev] [PATCH 1/3] eventdev: extend queue attribute get function

2017-09-20 Thread Gage Eads
This commit adds three new queue attributes, so that the entire queue configuration structure passed to rte_event_queue_setup can be queried. Signed-off-by: Gage Eads --- lib/librte_eventdev/rte_eventdev.c | 54 +-- lib/librte_eventdev/rte_eventdev.h | 16 - test/test

[dpdk-dev] [PATCH] eventdev: set rte errno in port link/unlink functions

2017-11-14 Thread Gage Eads
no and return 0 if it detects an error. Fixes: 4f0804bbdfb9 ("eventdev: implement the northbound APIs") Signed-off-by: Gage Eads --- lib/librte_eventdev/rte_eventdev.c | 36 -- lib/librte_eventdev/rte_eventdev_pmd.h | 8 2 files chan

[dpdk-dev] [PATCH 2/2] event/sw: use dynamically-sized IQs

2017-11-29 Thread Gage Eads
ghput scenarios, tested with eventdev_pipeline_sw_pmd. This implementation has a small increase in the queue storage memory footprint (~70KB). This commit also removes the iq_size xstat, which no longer applies to this implementation. Signed-off-by: Gage Eads --- drivers/event

[dpdk-dev] [PATCH 1/2] event/sw: fix queue memory leak and multi-link bug

2017-11-29 Thread Gage Eads
1. Fixes: 5ffb2f142d95 ("event/sw: support event queues") Fixes: 371a688fc159 ("event/sw: support linking queues to ports") Fixes: f8f9d233ea0e ("test/eventdev: add unit tests") Signed-off-by: Gage Eads --- drivers/event/sw/sw_evdev.c | 46 ++

[dpdk-dev] [PATCH 0/2] add implicit release disable capability

2017-11-29 Thread Gage Eads
bled. The second patch in the series isn't directly related to implicit release, but the code changes depend on the first patch. Gage Eads (2): eventdev: add implicit release disable capability event/sw: simplify credit scheme drivers/event/dpaa2/dpaa2_eventdev.c | 2 ++ drivers

[dpdk-dev] [PATCH 1/2] eventdev: add implicit release disable capability

2017-11-29 Thread Gage Eads
D. Signed-off-by: Gage Eads --- drivers/event/dpaa2/dpaa2_eventdev.c | 2 ++ drivers/event/octeontx/ssovf_evdev.c | 1 + drivers/event/skeleton/skeleton_eventdev.c | 1 + drivers/event/sw/sw_evdev.c| 10 +++--- drivers/event/sw/sw_evdev.h| 1 + dri

[dpdk-dev] [PATCH 2/2] event/sw: simplify credit scheme

2017-11-29 Thread Gage Eads
This commit modifies the sw PMD credit scheme such that credits are consumed when enqueueing a NEW event and released when an event is released -- typically, the beginning and end of a pipeline. Workers that simply forward events do not interact with the credit pool. Signed-off-by: Gage Eads

[dpdk-dev] [PATCH v2 1/2] eventdev: add implicit release disable capability

2017-12-11 Thread Gage Eads
D. Signed-off-by: Gage Eads Acked-by: Harry van Haaren --- v2: - Merged two lines into one in dpaa2_eventdev_port_def_conf(). - Used '0' instead of 'false' in skeleton_eventdev_port_def_conf(). - Replaced instances of 'bool' with 'uint8_t' in eventdev_p

[dpdk-dev] [PATCH v2 2/2] event/sw: simplify credit scheme

2017-12-11 Thread Gage Eads
This commit modifies the sw PMD credit scheme such that credits are consumed when enqueueing a NEW event and released when an event is released -- typically, the beginning and end of a pipeline. Workers that simply forward events do not interact with the credit pool. Signed-off-by: Gage Eads

[dpdk-dev] [PATCH 2/2] event/sw: support device stop flush callback

2018-03-05 Thread Gage Eads
This commit also adds a flush callback test to the sw eventdev's selftest suite. Signed-off-by: Gage Eads --- drivers/event/sw/sw_evdev.c | 25 +++- drivers/event/sw/sw_evdev_selftest.c | 75 +++- 2 files changed, 97 insertions(+), 3 dele

[dpdk-dev] [PATCH 1/2] eventdev: add device stop flush callback

2018-03-05 Thread Gage Eads
registered by any process that may call rte_event_dev_stop(). This commit also clarifies the behavior of rte_event_dev_stop(). This follows this mailing list discussion: http://dpdk.org/ml/archives/dev/2018-January/087484.html Signed-off-by: Gage Eads --- lib/librte_eventdev/rte_eventdev.c

[dpdk-dev] [PATCH] event/sw: perform partial burst enqueues

2018-03-08 Thread Gage Eads
ently high. This change makes the sw PMD enqueue as many events as it has credits, if there are any new events in the burst. Signed-off-by: Gage Eads --- drivers/event/sw/sw_evdev_worker.c | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/event/sw/sw_evdev_worker

[dpdk-dev] [PATCH v2 1/2] eventdev: add device stop flush callback

2018-03-08 Thread Gage Eads
registered by any process that may call rte_event_dev_stop(). This commit also clarifies the behavior of rte_event_dev_stop(). This follows this mailing list discussion: http://dpdk.org/ml/archives/dev/2018-January/087484.html Signed-off-by: Gage Eads --- v2: allow a NULL callback pointer to unregister

[dpdk-dev] [PATCH v2 2/2] event/sw: support device stop flush callback

2018-03-08 Thread Gage Eads
This commit also adds a flush callback test to the sw eventdev's selftest suite. Signed-off-by: Gage Eads --- drivers/event/sw/sw_evdev.c | 25 ++- drivers/event/sw/sw_evdev_selftest.c | 80 +++- 2 files changed, 102 insertions(+), 3 dele

[dpdk-dev] [PATCH v2] event/sw: perform partial burst enqueues

2018-03-12 Thread Gage Eads
high. This change makes the sw PMD enqueue as many events as it has credits, if there are any new events in the burst. Signed-off-by: Gage Eads --- v2: fix commit message bug ("sw event adapter" -> "sw PMD") drivers/event/sw/sw_evdev_worker.c | 6 -- 1 file changed,

[dpdk-dev] [PATCH] eventdev: clarify nb_unlinks description

2017-02-10 Thread Gage Eads
This commit clarifies the usage of nb_unlinks when passing a NULL pointer as the queues argument. Signed-off-by: Gage Eads --- lib/librte_eventdev/rte_eventdev.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/librte_eventdev/rte_eventdev.h b/lib/librte_eventdev

[dpdk-dev] [PATCH] eventdev: Add rte_errno return values to the enqueue and dequeue functions

2017-02-10 Thread Gage Eads
in non-debug execution. Signed-off-by: Gage Eads --- lib/librte_eventdev/rte_eventdev.h | 42 +++--- 1 file changed, 39 insertions(+), 3 deletions(-) diff --git a/lib/librte_eventdev/rte_eventdev.h b/lib/librte_eventdev/rte_eventdev.h index c2f9310..ef21205 100644

[dpdk-dev] [PATCH v2] eventdev: clarify nb_links and nb_unlinks description

2017-02-13 Thread Gage Eads
This commit clarifies the usage of nb_links and nb_unlinks when passing a NULL pointer as the queues argument. Signed-off-by: Gage Eads --- Changes for v2: - Clarify nb_links as well lib/librte_eventdev/rte_eventdev.h | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a

[dpdk-dev] [PATCH v2] eventdev: Add rte_errno return values to the enqueue and dequeue functions

2017-02-15 Thread Gage Eads
in non-debug execution. Signed-off-by: Gage Eads --- Changes for v2: - Remove rte_errno initialization lib/librte_eventdev/rte_eventdev.h | 40 +++--- 1 file changed, 37 insertions(+), 3 deletions(-) diff --git a/lib/librte_eventdev/rte_eventdev.h b/lib

[dpdk-dev] [PATCH v3] mempool: remove non-EAL thread note from header

2017-03-23 Thread Gage Eads
Commit 30e6399892276 ("mempool: support non-EAL thread") added the capability for non-EAL threads to use the mempool library. This commit removes the note indicating that the mempool library cannot be used safely by non-EAL threads. Also, fix a typo. Signed-off-by: Gage Eads --- v

[dpdk-dev] [PATCH v6] eventdev: add errno-style return values

2017-03-23 Thread Gage Eads
ssure from the event device. The port and device ID checks are placed in RTE_LIBRTE_EVENTDEV_DEBUG header guards to avoid the performance hit in non-debug execution. Signed-off-by: Gage Eads --- Changes for v2: - Remove rte_errno initialization Changes for v3: - Fix checkpatch and check-git-log

[dpdk-dev] [PATCH v4] mempool: update non-EAL thread note in the header

2017-03-30 Thread Gage Eads
Commit 30e6399892276 ("mempool: support non-EAL thread") added the capability for non-EAL threads to use the mempool library. This commit removes the note indicating that the mempool library cannot be used safely by non-EAL threads, and replaces it with a more up-to-date note. Signed-of

[dpdk-dev] [PATCH] eventdev: Fix links_map initialization

2017-03-01 Thread Gage Eads
This patch initializes the links_map array entries to EVENT_QUEUE_SERVICE_PRIORITY_INVALID, as expected by rte_event_port_links_get(). Signed-off-by: Gage Eads --- lib/librte_eventdev/rte_eventdev.c | 17 - 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/lib

[dpdk-dev] [PATCH v2] eventdev: Fix links_map initialization for sw PMD

2017-03-06 Thread Gage Eads
This patch initializes the links_map array entries to EVENT_QUEUE_SERVICE_PRIORITY_INVALID, as expected by rte_event_port_links_get(). This is necessary for the sw eventdev PMD, which does not initialize links_map when rte_event_port_setup() calls rte_event_port_unlink(). Signed-off-by: Gage Eads

[dpdk-dev] [PATCH v3] eventdev: fix links map initialization for SW PMD

2017-03-07 Thread Gage Eads
("eventdev: implement the northbound APIs") Signed-off-by: Gage Eads Acked-by: Jerin Jacob --- v2: Refined commit message's description of patch v3: Fixed check-git-log.sh errors, added Jerin's Acked-by lib/librte_eventdev/rte_eventdev.c | 17 - 1 file changed,

[dpdk-dev] [PATCH v3] eventdev: add errno-style return values

2017-03-16 Thread Gage Eads
port and device ID checks are placed in RTE_LIBRTE_EVENTDEV_DEBUG header guards to avoid the performance hit in non-debug execution. Signed-off-by: Gage Eads --- Changes for v2: - Remove rte_errno initialization Changes for v3: - Fix checkpatch and check-git-log.sh errors lib/librte_eventdev

[dpdk-dev] [PATCH v4] eventdev: add errno-style return values

2017-03-17 Thread Gage Eads
ssure from the event device. The port and device ID checks are placed in RTE_LIBRTE_EVENTDEV_DEBUG header guards to avoid the performance hit in non-debug execution. Signed-off-by: Gage Eads --- Changes for v2: - Remove rte_errno initialization Changes for v3: - Fix checkpatch and check-git-log

[dpdk-dev] [PATCH] mempool: remove non-EAL thread note from header

2017-03-20 Thread Gage Eads
AL threads. Also, fix a typo. Signed-off-by: Gage Eads --- lib/librte_mempool/rte_mempool.h | 6 +- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/lib/librte_mempool/rte_mempool.h b/lib/librte_mempool/rte_mempool.h index 991feaa..b1186fd 100644 --- a/lib/librte_mempool/rte_mempo

[dpdk-dev] [PATCH v5] eventdev: add errno-style return values

2017-03-22 Thread Gage Eads
ssure from the event device. The port and device ID checks are placed in RTE_LIBRTE_EVENTDEV_DEBUG header guards to avoid the performance hit in non-debug execution. Signed-off-by: Gage Eads --- Changes for v2: - Remove rte_errno initialization Changes for v3: - Fix checkpatch and check-git-log

[dpdk-dev] [PATCH v2] mempool: remove non-EAL thread note from header

2017-03-22 Thread Gage Eads
Commit 30e6399892276 ("mempool: support non-EAL thread") added the capability for non-EAL threads to use the mempool library. This commit removes the note indicating that the mempool library cannot be used safely by non-EAL threads. Also, fix a typo. Signed-off-by: Gage Eads --- v

[dpdk-dev] [PATCH] mk: use extra cflags when linking apps with the compiler

2017-04-25 Thread Gage Eads
ption. Signed-off-by: John Jacques Signed-off-by: Gage Eads --- mk/rte.app.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mk/rte.app.mk b/mk/rte.app.mk index b5215c0..bcaf1b3 100644 --- a/mk/rte.app.mk +++ b/mk/rte.app.mk @@ -235,7 +235,7 @@ build: _postbuild exe2cmd = $(strip $

[dpdk-dev] [PATCH] crypto/qat: fix dequeue count stats retrieval

2017-04-27 Thread Gage Eads
The QAT device's dequeued_count and dequeue_err_count stats were incorrectly assigned the enqueued_count and enqueue_err_count values, respectively. Signed-off-by: Gage Eads Fixes: 1703e94a ("qat: add driver for QuickAssist devices") --- drivers/crypto/qat/qat_crypto.c | 4 ++--

[dpdk-dev] [RFC] eventdev: add event adapter for ethernet Rx queues

2017-05-09 Thread Gage Eads
n the header's comments. [1] http://dpdk.org/ml/archives/dev/2017-May/065341.html [2] http://dpdk.org/ml/archives/dev/2017-May/065207.html Signed-off-by: Nikhil Rao Signed-off-by: Gage Eads --- lib/librte_eventdev/rte_eth_rx_event_adapter.h | 285 + lib/librt

[dpdk-dev] [PATCH] eventdev: clarify atomic and ordered queue config

2017-05-12 Thread Gage Eads
The nb_atomic_flows and nb_atomic_order_sequences fields are only inspected if the queue is configured for atomic or ordered scheduling, respectively. This commit updates the documentation to reflect that. Signed-off-by: Gage Eads --- lib/librte_eventdev/rte_eventdev.h | 15 ++- 1

[dpdk-dev] [PATCH v2] eventdev: clarify atomic and ordered queue config

2017-05-15 Thread Gage Eads
The nb_atomic_flows and nb_atomic_order_sequences fields are only inspected if the queue is configured for atomic or ordered scheduling, respectively. This commit updates the documentation to reflect that. Signed-off-by: Gage Eads --- v2: Fixed doxygen output issue and tweaked the ranges lib

[dpdk-dev] [PATCH] mk: use extra cflags when linking libs with a compiler

2017-07-25 Thread Gage Eads
When using the compiler to link libraries, include EXTRA_CFLAGS. This is needed when cross-compiling to pass --sysroot, for example. GCC cross-compilers built with Yocto don't use the --with-sysroot option, making it necessary to pass the --sysroot command-line option. This is the same solution as

[dpdk-dev] [PATCH v2] mk: use extra cflags when linking libs with a compiler

2017-07-31 Thread Gage Eads
ution as in commit e8fbb6d9cfd9 ("mk: use extra cflags when linking with compiler"), but applied to libs instead of apps. Signed-off-by: Gage Eads --- v2: Added missing Signed-off-by field mk/rte.lib.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mk/rte.lib.mk

[dpdk-dev] [PATCH] eventdev: ease single-link queue config requirements

2017-08-09 Thread Gage Eads
e) to bypass the is_valid_{ordered, atomic}_queue_conf() checks in the eventdev layer. This commit updates those is_valid_* functions to ignore queues with the SINGLE_LINK flag, to simplify their configuration. Signed-off-by: Gage Eads --- examples/eventdev_pipeline_sw_pmd/main.c | 6 +-

[dpdk-dev] [PATCH] doc: add multi-proc shared lib mempool note

2019-06-18 Thread Gage Eads
ning users against this. Fixes: 449c49b93a6b ("mempool: support handler operations") Cc: sta...@dpdk.org Signed-off-by: Gage Eads --- doc/guides/prog_guide/mempool_lib.rst | 7 +++ 1 file changed, 7 insertions(+) diff --git a/doc/guides/prog_guide/mempool_lib.rst b/doc/guides

[dpdk-dev] [PATCH] eal: promote some service core functions to stable

2019-06-20 Thread Gage Eads
allows them to not need any experimental API. Signed-off-by: Gage Eads --- drivers/event/sw/Makefile | 1 - drivers/event/sw/meson.build| 1 - lib/librte_eal/common/include/rte_service.h | 15 +++ lib/librte_eal/common/rte_service.c | 6

[dpdk-dev] [PATCH v2] eal: promote some service core functions to stable

2019-06-20 Thread Gage Eads
not need any experimental API. Signed-off-by: Gage Eads --- drivers/event/sw/Makefile | 1 - drivers/event/sw/meson.build| 1 - lib/librte_eal/common/include/rte_service.h | 15 +++ lib/librte_eal/common/rte_service.c | 6 +++--- lib

[dpdk-dev] [PATCH v2] doc: add multi-proc shared lib mempool note

2019-06-20 Thread Gage Eads
ning users against this. Fixes: 449c49b93a6b ("mempool: support handler operations") Cc: sta...@dpdk.org Signed-off-by: Gage Eads Acked-by: Andrew Rybchenko --- doc/guides/prog_guide/mempool_lib.rst | 8 1 file changed, 8 insertions(+) v2: add another empty line d

[dpdk-dev] [PATCH] event/sw: fix xstats reset value assignment bug

2019-08-27 Thread Gage Eads
value = current. Fixes: c1ad03df7ad5 ("event/sw: support xstats") Cc: sta...@dpdk.org Signed-off-by: Gage Eads --- drivers/event/sw/sw_evdev_xstats.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/event/sw/sw_evdev_xstats.c b/drivers/event/sw/sw_evdev

[dpdk-dev] [RFC PATCH] EventDev buffered enqueue API

2016-12-02 Thread Gage Eads
applies on top of Jerin Jacob's eventdev API patchset[1]. [1] http://dpdk.org/ml/archives/dev/2016-November/050355.html Gage Eads (1): eventdev: add buffered enqueue and flush APIs lib/librte_eventdev/rte_eventdev.c | 29 ++ lib/librte_eventdev/rte_eventdev.h

[dpdk-dev] [RFC PATCH] eventdev: add buffered enqueue and flush APIs

2016-12-02 Thread Gage Eads
This commit adds buffered enqueue functionality to the eventdev API. It is conceptually similar to the ethdev API's tx buffering, however with a smaller API surface and no dropping of events. Signed-off-by: Gage Eads --- lib/librte_eventdev/rte_eventdev.c | 29 ++ lib/librte_eve

[dpdk-dev] [PATCH] stack: remove experimental tag from API

2020-09-30 Thread Gage Eads
The stack library was first released in 19.05, and its interfaces have been stable since their initial introduction. This commit promotes the full interface to stable, starting with the 20.11 major version. Signed-off-by: Gage Eads Acked-by: David Marchand --- doc/guides/rel_notes

[dpdk-dev] [PATCH] stack: remove experimental tag from API

2020-05-27 Thread Gage Eads
The stack library was first released in 19.05, and its interfaces have been stable since their initial introduction. This commit promotes the full interface to stable, starting with the 20.08 ABI. Signed-off-by: Gage Eads --- lib/librte_stack/rte_stack.h | 29

[dpdk-dev] [20.11] [PATCH v2] stack: remove experimental tag from API

2020-05-28 Thread Gage Eads
The stack library was first released in 19.05, and its interfaces have been stable since their initial introduction. This commit promotes the full interface to stable, starting with the 20.11 major version. Signed-off-by: Gage Eads --- doc/guides/rel_notes/release_20_11.rst | 3 +++ lib

[dpdk-dev] [PATCH v3] doc: add stack mempool guide

2020-09-14 Thread Gage Eads
This guide describes the two stack modes, their tradeoffs, and (via a reference to the mempool guide) how to enable them. Signed-off-by: Gage Eads --- v3: Fixed "Title underline too short" warning v2: Added commit description doc/guides/mempool/index.rst | 1 + doc/guid

[dpdk-dev] [PATCH] doc: add stack mempool guide

2020-08-11 Thread Gage Eads
Signed-off-by: Gage Eads --- doc/guides/mempool/index.rst | 1 + doc/guides/mempool/stack.rst | 38 +++ doc/guides/prog_guide/mempool_lib.rst | 2 ++ doc/guides/prog_guide/stack_lib.rst | 4 4 files changed, 45 insertions(+) create

[dpdk-dev] [PATCH] doc: add stack mempool guide

2020-08-24 Thread Gage Eads
This guide describes the two stack modes, their tradeoffs, and (via a reference to the mempool guide) how to enable them. Signed-off-by: Gage Eads --- v2: Added commit description doc/guides/mempool/index.rst | 1 + doc/guides/mempool/stack.rst | 38

[dpdk-dev] [PATCH v4] doc: add stack mempool guide

2020-10-07 Thread Gage Eads
This guide describes the two stack modes, their tradeoffs, and (via a reference to the mempool guide) how to enable them. Signed-off-by: Gage Eads --- v4: Expanded first paragraph in stack.rst per Olivier's feedback v3: Fixed "Title underline too short" warning v2: Added com

[dpdk-dev] [PATCH] eventdev: fix xstats documentation typo

2018-12-03 Thread Gage Eads
The eventdev extended stats documentation referred to two non-existent functions, rte_eventdev_xstats_get and rte_eventdev_get_xstats_by_name. Fixes: 3ed7fc039a ("eventdev: add extended stats") Cc: sta...@dpdk.org Signed-off-by: Gage Eads --- lib/librte_eventdev/rte_eventdev.h | 4 ++

[dpdk-dev] [PATCH 0/3] Add non-blocking stack mempool handler

2019-01-10 Thread Gage Eads
pus cores with a tickless scheduler. The lock-based stack's rate_persec was 1x-3.5x the non-blocking stack's. Gage Eads (3): eal: add 128-bit cmpset (x86-64 only) mempool/nb_stack: add non-blocking stack mempool doc: add NB stack comment to EAL "known issues" MAINTAINERS

[dpdk-dev] [PATCH 1/3] eal: add 128-bit cmpset (x86-64 only)

2019-01-10 Thread Gage Eads
This operation can be used for non-blocking algorithms, such as a non-blocking stack or ring. Signed-off-by: Gage Eads --- .../common/include/arch/x86/rte_atomic_64.h| 22 ++ 1 file changed, 22 insertions(+) diff --git a/lib/librte_eal/common/include/arch/x86

[dpdk-dev] [PATCH 2/3] mempool/nb_stack: add non-blocking stack mempool

2019-01-10 Thread Gage Eads
27;s. Signed-off-by: Gage Eads --- MAINTAINERS| 4 + config/common_base | 1 + drivers/mempool/Makefile | 1 + drivers/mempool/nb_stack/Makefile | 30 + drivers/mempool/

[dpdk-dev] [PATCH 3/3] doc: add NB stack comment to EAL "known issues"

2019-01-10 Thread Gage Eads
This comment makes users aware of the non-blocking stack option and its caveats. Signed-off-by: Gage Eads --- doc/guides/prog_guide/env_abstraction_layer.rst | 5 + 1 file changed, 5 insertions(+) diff --git a/doc/guides/prog_guide/env_abstraction_layer.rst b/doc/guides/prog_guide

[dpdk-dev] [PATCH 2/6] ring: add a non-blocking implementation

2019-01-10 Thread Gage Eads
ue (size 8) | -1.96 MP/MC bulk enq/dequeue (size 8) | 0.88 SP/SC bulk enq/dequeue (size 32) | 0.10 MP/MC bulk enq/dequeue (size 32) | 0.46 Test setup: x86_64 build with default config, dual-socket Xeon E5-2699 v4, running on isolcpus cores with a tickless scheduler. Each test run three tim

[dpdk-dev] [PATCH 4/6] test_ring_perf: add non-blocking ring perf test

2019-01-10 Thread Gage Eads
nb_ring_perf_autotest re-uses the ring_perf_autotest code by wrapping its top-level function with one that takes a 'flags' argument. Signed-off-by: Gage Eads --- test/test/test_ring_perf.c | 19 --- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a

[dpdk-dev] [PATCH 0/6] Add non-blocking ring

2019-01-10 Thread Gage Eads
his patchset makes ABI changes, and thus an ABI update announcement and deprecation cycle are required. This patchset depends on the non-blocking stack patchset[1]. [1] http://mails.dpdk.org/archives/dev/2019-January/122923.html Gage Eads (6): ring: change head and tail to pointer-width size ring

[dpdk-dev] [PATCH 1/6] ring: change head and tail to pointer-width size

2019-01-10 Thread Gage Eads
ance drop on 32-bit builds. With uintptr_t, no performance difference is observed on an i686 build. Signed-off-by: Gage Eads --- lib/librte_eventdev/rte_event_ring.h | 6 +++--- lib/librte_ring/rte_ring.c | 10 +- lib/librte_ring/rte_ring.h | 20 ++--

[dpdk-dev] [PATCH 6/6] doc: add NB ring comment to EAL "known issues"

2019-01-10 Thread Gage Eads
This comment makes users aware of the non-blocking ring option and its caveats. Signed-off-by: Gage Eads --- doc/guides/prog_guide/env_abstraction_layer.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/guides/prog_guide/env_abstraction_layer.rst b/doc/guides

[dpdk-dev] [PATCH 3/6] test_ring: add non-blocking ring autotest

2019-01-10 Thread Gage Eads
ring_nb_autotest re-uses the ring_autotest code by wrapping its top-level function with one that takes a 'flags' argument. Signed-off-by: Gage Eads --- test/test/test_ring.c | 57 --- 1 file changed, 36 insertions(+), 21 deletions(-) di

[dpdk-dev] [PATCH 5/6] mempool/ring: add non-blocking ring handlers

2019-01-10 Thread Gage Eads
These handlers allow an application to create a mempool based on the non-blocking ring, with any combination of single/multi producer/consumer. Signed-off-by: Gage Eads --- drivers/mempool/ring/rte_mempool_ring.c | 58 +++-- 1 file changed, 55 insertions(+), 3

[dpdk-dev] [PATCH v4 0/8] Add stack library and new mempool handler

2019-03-28 Thread Gage Eads
Add an empty array of struct rte_nb_lifo_elem elements - In rte_nb_lifo_push(), retrieve the last element from __nb_lifo_pop() - Split C11 implementation into a separate patchset Gage Eads (8): stack: introduce rte stack library mempool/stack: convert mempool to use rte stack test/stack: add stack te

[dpdk-dev] [PATCH v4 2/8] mempool/stack: convert mempool to use rte stack

2019-03-28 Thread Gage Eads
The new rte_stack library is derived from the mempool handler, so this commit removes duplicated code and simplifies the handler by migrating it to this new API. Signed-off-by: Gage Eads Reviewed-by: Olivier Matz --- MAINTAINERS | 2 +- drivers/mempool/stack

[dpdk-dev] [PATCH v4 3/8] test/stack: add stack test

2019-03-28 Thread Gage Eads
stack_autotest performs positive and negative testing of the stack API, and exercises the push and pop datapath functions with all available lcores. Signed-off-by: Gage Eads --- MAINTAINERS | 1 + app/test/Makefile | 2 + app/test/meson.build | 3 + app/test/test_stack.c

[dpdk-dev] [PATCH v4 1/8] stack: introduce rte stack library

2019-03-28 Thread Gage Eads
data structure, rte_ring, and its lock-based implementation is derived from the stack mempool handler. An upcoming commit will migrate the stack mempool handler to rte_stack. Signed-off-by: Gage Eads --- MAINTAINERS| 6 + config/common_base | 5 +

[dpdk-dev] [PATCH v4 4/8] test/stack: add stack perf test

2019-03-28 Thread Gage Eads
(if possible): - Two hyperthreads - Two physical cores - Two physical cores on separate NUMA nodes - All available lcores Signed-off-by: Gage Eads Reviewed-by: Olivier Matz --- app/test/Makefile | 1 + app/test/meson.build | 2 + app/test/test_stack_perf.c | 343

[dpdk-dev] [PATCH v4 5/8] stack: add lock-free stack implementation

2019-03-28 Thread Gage Eads
linked list elements themselves are maintained in a lock-free LIFO list, and are allocated before stack pushes and freed after stack pops. Since the stack has a fixed maximum depth, these elements do not need to be dynamically created. Signed-off-by: Gage Eads --- doc/guides/prog_guide/stack_lib.rst

[dpdk-dev] [PATCH v4 6/8] stack: add C11 atomic implementation

2019-03-28 Thread Gage Eads
This commit adds an implementation of the lock-free stack push, pop, and length functions that use __atomic builtins, for systems that benefit from the finer-grained memory ordering control. Signed-off-by: Gage Eads --- lib/librte_stack/Makefile| 3 +- lib/librte_stack/meson.build

[dpdk-dev] [PATCH v4 8/8] mempool/stack: add lock-free stack mempool handler

2019-03-28 Thread Gage Eads
E5-2699 v4, running on isolcpus cores with a tickless scheduler. The lock-based stack's rate_persec was 0.6x-3.5x the lock-free stack's. Signed-off-by: Gage Eads Reviewed-by: Olivier Matz --- doc/guides/prog_guide/env_abstraction_layer.rst | 10 ++ doc/guides/rel_not

[dpdk-dev] [PATCH v4 7/8] test/stack: add lock-free stack tests

2019-03-28 Thread Gage Eads
This commit adds lock-free stack variants of stack_autotest (stack_lf_autotest) and stack_perf_autotest (stack_lf_perf_autotest), which differ only in that the lock-free versions pass the RTE_STACK_F_LF flag to all rte_stack_create() calls. Signed-off-by: Gage Eads Reviewed-by: Olivier Matz

[dpdk-dev] [PATCH v5 2/8] mempool/stack: convert mempool to use rte stack

2019-03-31 Thread Gage Eads
The new rte_stack library is derived from the mempool handler, so this commit removes duplicated code and simplifies the handler by migrating it to this new API. Signed-off-by: Gage Eads Reviewed-by: Olivier Matz --- MAINTAINERS | 2 +- drivers/mempool/stack

[dpdk-dev] [PATCH v5 0/8] Add stack library and new mempool handler

2019-03-31 Thread Gage Eads
nb_lifo_push(), retrieve the last element from __nb_lifo_pop() - Split C11 implementation into a separate patchset Gage Eads (8): stack: introduce rte stack library mempool/stack: convert mempool to use rte stack test/stack: add stack test test/stack: add stack perf test stack: add lock-fre

[dpdk-dev] [PATCH v5 1/8] stack: introduce rte stack library

2019-03-31 Thread Gage Eads
data structure, rte_ring, and its lock-based implementation is derived from the stack mempool handler. An upcoming commit will migrate the stack mempool handler to rte_stack. Signed-off-by: Gage Eads Reviewed-by: Olivier Matz --- MAINTAINERS| 6 + config/common

[dpdk-dev] [PATCH v5 4/8] test/stack: add stack perf test

2019-03-31 Thread Gage Eads
(if possible): - Two hyperthreads - Two physical cores - Two physical cores on separate NUMA nodes - All available lcores Signed-off-by: Gage Eads Reviewed-by: Olivier Matz --- app/test/Makefile | 1 + app/test/meson.build | 2 + app/test/test_stack_perf.c | 343

[dpdk-dev] [PATCH v5 3/8] test/stack: add stack test

2019-03-31 Thread Gage Eads
stack_autotest performs positive and negative testing of the stack API, and exercises the push and pop datapath functions with all available lcores. Signed-off-by: Gage Eads Reviewed-by: Olivier Matz --- MAINTAINERS | 1 + app/test/Makefile | 2 + app/test/meson.build | 3

[dpdk-dev] [PATCH v5 5/8] stack: add lock-free stack implementation

2019-03-31 Thread Gage Eads
linked list elements themselves are maintained in a lock-free LIFO list, and are allocated before stack pushes and freed after stack pops. Since the stack has a fixed maximum depth, these elements do not need to be dynamically created. Signed-off-by: Gage Eads Reviewed-by: Olivier Matz --- doc

[dpdk-dev] [PATCH v5 8/8] mempool/stack: add lock-free stack mempool handler

2019-03-31 Thread Gage Eads
E5-2699 v4, running on isolcpus cores with a tickless scheduler. The lock-based stack's rate_persec was 0.6x-3.5x the lock-free stack's. Signed-off-by: Gage Eads Reviewed-by: Olivier Matz --- doc/guides/prog_guide/env_abstraction_layer.rst | 10 ++ doc/guides/rel_not

[dpdk-dev] [PATCH v5 6/8] stack: add C11 atomic implementation

2019-03-31 Thread Gage Eads
This commit adds an implementation of the lock-free stack push, pop, and length functions that use __atomic builtins, for systems that benefit from the finer-grained memory ordering control. Signed-off-by: Gage Eads Reviewed-by: Olivier Matz --- lib/librte_stack/Makefile | 3

[dpdk-dev] [PATCH v5 7/8] test/stack: add lock-free stack tests

2019-03-31 Thread Gage Eads
This commit adds lock-free stack variants of stack_autotest (stack_lf_autotest) and stack_perf_autotest (stack_lf_perf_autotest), which differ only in that the lock-free versions pass the RTE_STACK_F_LF flag to all rte_stack_create() calls. Signed-off-by: Gage Eads Reviewed-by: Olivier Matz

[dpdk-dev] [PATCH v6 1/8] stack: introduce rte stack library

2019-04-01 Thread Gage Eads
data structure, rte_ring, and its lock-based implementation is derived from the stack mempool handler. An upcoming commit will migrate the stack mempool handler to rte_stack. Signed-off-by: Gage Eads Reviewed-by: Olivier Matz --- MAINTAINERS| 6 + config/common

[dpdk-dev] [PATCH v6 0/8] Add stack library and new mempool handler

2019-04-01 Thread Gage Eads
->sz") - Remove unnecessary NULL check from test_stack_basic - Properly terminate the name string in test_stack_name_length - Add an empty array of struct rte_nb_lifo_elem elements - In rte_nb_lifo_push(), retrieve the last element from __nb_lifo_pop() - Split C11 implementation into a separat

[dpdk-dev] [PATCH v6 2/8] mempool/stack: convert mempool to use rte stack

2019-04-01 Thread Gage Eads
The new rte_stack library is derived from the mempool handler, so this commit removes duplicated code and simplifies the handler by migrating it to this new API. Signed-off-by: Gage Eads Reviewed-by: Olivier Matz --- MAINTAINERS | 2 +- drivers/mempool/stack

[dpdk-dev] [PATCH v6 3/8] test/stack: add stack test

2019-04-01 Thread Gage Eads
stack_autotest performs positive and negative testing of the stack API, and exercises the push and pop datapath functions with all available lcores. Signed-off-by: Gage Eads Reviewed-by: Olivier Matz --- MAINTAINERS | 1 + app/test/Makefile | 2 + app/test/meson.build | 3

[dpdk-dev] [PATCH v6 4/8] test/stack: add stack perf test

2019-04-01 Thread Gage Eads
(if possible): - Two hyperthreads - Two physical cores - Two physical cores on separate NUMA nodes - All available lcores Signed-off-by: Gage Eads Reviewed-by: Olivier Matz --- app/test/Makefile | 1 + app/test/meson.build | 2 + app/test/test_stack_perf.c | 343

[dpdk-dev] [PATCH v6 5/8] stack: add lock-free stack implementation

2019-04-01 Thread Gage Eads
linked list elements themselves are maintained in a lock-free LIFO list, and are allocated before stack pushes and freed after stack pops. Since the stack has a fixed maximum depth, these elements do not need to be dynamically created. Signed-off-by: Gage Eads Reviewed-by: Olivier Matz Reviewed-by

[dpdk-dev] [PATCH v6 7/8] test/stack: add lock-free stack tests

2019-04-01 Thread Gage Eads
This commit adds lock-free stack variants of stack_autotest (stack_lf_autotest) and stack_perf_autotest (stack_lf_perf_autotest), which differ only in that the lock-free versions pass the RTE_STACK_F_LF flag to all rte_stack_create() calls. Signed-off-by: Gage Eads Reviewed-by: Olivier Matz

  1   2   3   >