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
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
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,
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
("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,
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 $
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 ++--
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
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
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
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 ++
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
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
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/
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
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
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
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
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 ++--
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
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
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
scheduler service is no longer active.
v2:
- Move function to DPDK_18.08 block in rte_eal_version.map
- Fix signed vs. unsigned comparison compiler warning
Gage Eads (2):
service: add mechanism for quiescing a service
event/sw: support device stop flush callback
drivers/event/sw/
s can set a service's runstate to
stopped, then poll rte_service_may_be_active() until it returns false. At
that point, the service is quiesced.
Signed-off-by: Gage Eads
Acked-by: Harry van Haaren
---
lib/librte_eal/common/include/rte_service.h | 16 +++
lib/librte_eal/common/rte
This commit also adds a flush callback test to the sw eventdev's selftest
suite.
Signed-off-by: Gage Eads
Acked-by: Harry van Haaren
---
drivers/event/sw/sw_evdev.c | 114 ++-
drivers/event/sw/sw_evdev_selftest.c | 81 -
2
scheduler service is no longer active.
v2:
- Move function to DPDK_18.08 block in rte_eal_version.map
- Fix signed vs. unsigned comparison compiler warning
v3:
- Move function to EXPERIMENTAL block and add experimental tags
- Fix typo in function documentation
Gage Eads (2):
service: add mec
s can set a service's runstate to
stopped, then poll rte_service_may_be_active() until it returns false. At
that point, the service is quiesced.
Signed-off-by: Gage Eads
Acked-by: Harry van Haaren
---
lib/librte_eal/common/include/rte_service.h | 20 ++
lib/librte_eal/common/rte
This commit also adds a flush callback test to the sw eventdev's selftest
suite.
Signed-off-by: Gage Eads
Acked-by: Harry van Haaren
---
drivers/event/sw/sw_evdev.c | 114 ++-
drivers/event/sw/sw_evdev_selftest.c | 81 -
2
Set the rx and tx queue state appropriately when the queues or device are
started or stopped.
Signed-off-by: Gage Eads
---
drivers/net/tap/rte_eth_tap.c | 56 +--
1 file changed, 54 insertions(+), 2 deletions(-)
diff --git a/drivers/net/tap/rte_eth_tap.c
Set the rx and tx queue state appropriately when the queues or device are
started or stopped.
Signed-off-by: Gage Eads
---
drivers/net/pcap/rte_eth_pcap.c | 42 +
1 file changed, 42 insertions(+)
diff --git a/drivers/net/pcap/rte_eth_pcap.c b/drivers/net
Set the rx and tx queue state appropriately when the queues or device are
started or stopped. This enables usage of the ethdev rx/tx queue start/stop
functions with the PCAP PMD.
Signed-off-by: Gage Eads
---
v2 changes:
- Expand the commit message
- Fix queue start/stop state setting in
scheduler service is no longer active.
Gage Eads (2):
service: add mechanism for quiescing a service
event/sw: support device stop flush callback
drivers/event/sw/sw_evdev.c | 114 +++-
drivers/event/sw/sw_evdev_selftest.c| 81 +++
s can set a service's runstate to
stopped, then poll rte_service_may_be_active() until it returns false. At
that point, the service is quiesced.
Signed-off-by: Gage Eads
---
lib/librte_eal/common/include/rte_service.h | 16 +++
lib/librte_eal/common/rte_service.c
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 | 114 ++-
drivers/event/sw/sw_evdev_selftest.c | 81 -
2 files changed, 192 inser
This patch renames u16 to u16_buf. u16 as a variable name causes a shadowed
declaration warning if, for example, the application also typedefs u16
(e.g. by including a header containing "typedef unsigned short u16") and
the application is built with -Wshadow.
Signed-off-by: Gage Eads
_stack/Makefile
- Add a comment to nb_lifo_len() justifying its approximate behavior
- Fix comparison with NULL
- Remove unnecessary void * cast
- Fix meson builds and limit them to x86_64
- Fix missing library error for non-x86_64 builds
Gage Eads (2):
eal: add 128-bit cmpset (x86-64 only)
mempo
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
27;s.
Signed-off-by: Gage Eads
---
MAINTAINERS| 4 +
config/common_base | 1 +
doc/guides/prog_guide/env_abstraction_layer.rst| 5 +
drivers/mempool/Makefile | 3 +
drivers
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
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
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
ance drop on 32-bit builds. With
size_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/Makefile | 2 +-
lib/librte_ring/meson.build | 2 +-
lib/librte_ring/rte_ring.c
These handlers allow an application to create a mempool based on the
non-blocking ring, with any combination of single/multi producer/consumer.
Also, add a note to the programmer's guide's "known issues" section.
Signed-off-by: Gage Eads
Acked-by: Andrew Rybchenko
---
d
e_t
- Add a compile-time check for the size of size_t
- Fix a space-after-typecast issue
- Fix an unnecessary-parentheses checkpatch warning
- Bump librte_ring's library version
Gage Eads (5):
ring: change head and tail to pointer-width size
ring: add a non-blocking implementation
t
In order to support the non-blocking ring[1], one ABI change and one API
change are required in librte_ring. This commit updates the deprecation
notice to pave the way for their inclusion in 19.05.
[1] http://mails.dpdk.org/archives/dev/2019-January/123475.html
Signed-off-by: Gage Eads
---
doc
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
x86_64
- Fix missing library error for non-x86_64 builds
Gage Eads (2):
eal: add 128-bit cmpset (x86-64 only)
mempool/nb_stack: add non-blocking stack mempool
MAINTAINERS| 4 +
config/common_base | 1 +
doc/gui
27;s.
Signed-off-by: Gage Eads
Acked-by: Andrew Rybchenko
---
MAINTAINERS| 4 +
config/common_base | 1 +
doc/guides/prog_guide/env_abstraction_layer.rst| 5 +
drivers/mempool/Makefile |
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
oid * cast
- Fix meson builds and limit them to x86_64
- Fix missing library error for non-x86_64 builds
Gage Eads (2):
eal: add 128-bit cmpset (x86-64 only)
mempool/nb_stack: add non-blocking stack mempool
MAINTAINERS| 4 +
config/common_base
27;s.
Signed-off-by: Gage Eads
Acked-by: Andrew Rybchenko
---
MAINTAINERS| 4 +
config/common_base | 1 +
doc/guides/prog_guide/env_abstraction_layer.rst| 5 +
drivers/mempool/Makefile |
lly support it with the CASP instruction.
v2:
- Merge separate docs commit into patch #5
- Convert uintptr_t to size_t
- Add a compile-time check for the size of size_t
- Fix a space-after-typecast issue
- Fix an unnecessary-parentheses checkpatch warning
- Bump librte_ring's library v
k enq/dequeue (size 32) | -0.05
Two NUMA nodes:
SP/SC bulk enq/dequeue (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,
runni
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
eir 32-bit counterparts. Since the 32-bit
versions are padded out to a cache line, there is space for the new
structure without affecting the layout of struct rte_ring. Thus, the ABI is
preserved.
Signed-off-by: Gage Eads
---
lib/librte_eventdev/rte_event_ring.h | 2 +-
lib/librte_rin
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
These handlers allow an application to create a mempool based on the
non-blocking ring, with any combination of single/multi producer/consumer.
Also, add a note to the programmer's guide's "known issues" section.
Signed-off-by: Gage Eads
Acked-by: Andrew Rybchenko
---
d
-off-by: Gage Eads
---
v2:
- Drop the ABI change notice
doc/guides/rel_notes/deprecation.rst | 6 ++
1 file changed, 6 insertions(+)
diff --git a/doc/guides/rel_notes/deprecation.rst
b/doc/guides/rel_notes/deprecation.rst
index d4aea4b46..5b74a2aa7 100644
--- a/doc/guides/rel_notes
-off-by: Gage Eads
---
v3:
- "two changes are planned" -> "one change is planned"
v2:
- Drop the ABI change notice
doc/guides/rel_notes/deprecation.rst | 6 ++
1 file changed, 6 insertions(+)
diff --git a/doc/guides/rel_notes/deprecation.rst
b/doc/guides/rel_note
patch was spun off so that the the NB ring depends only on this patch
and not the entire non-blocking stack patchset.
[1] http://mails.dpdk.org/archives/dev/2019-January/124002.html
[1] http://mails.dpdk.org/archives/dev/2019-January/123653.html
Gage Eads (1):
eal: add 128-bit cmpset (x86-64 only
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| 31 +++
lib/librte_eal/common/include/generic/rte_atomic.h | 65 ++
2 files changed, 96
atch #5
- Convert uintptr_t to size_t
- Add a compile-time check for the size of size_t
- Fix a space-after-typecast issue
- Fix an unnecessary-parentheses checkpatch warning
- Bump librte_ring's library version
Gage Eads (5):
ring: add 64-bit headtail structure
ring: add a non-blo
s their 32-bit counterparts. Since the 32-bit
versions are padded out to a cache line, there is space for the new
structure without affecting the layout of struct rte_ring. Thus, the ABI is
preserved.
Signed-off-by: Gage Eads
---
lib/librte_ring/rte_ring.h | 23 +-
lib/l
k enq/dequeue (size 32) | -0.05
Two NUMA nodes:
SP/SC bulk enq/dequeue (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,
runni
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
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
These handlers allow an application to create a mempool based on the
non-blocking ring, with any combination of single/multi producer/consumer.
Also, add a note to the programmer's guide's "known issues" section.
Signed-off-by: Gage Eads
Acked-by: Andrew Rybchenko
---
d
-off-by: Gage Eads
---
v4:
- 19.05 -> 19.08
v3:
- "two changes are planned" -> "one change is planned"
v2:
- Drop the ABI change notice
doc/guides/rel_notes/deprecation.rst | 6 ++
1 file changed, 6 insertions(+)
diff --git a/doc/guides/rel_notes/deprecation.r
ve volatile keyword from 'dst'
- Put __int128 in a union in rte_int128_t and move the structure
definition inside the RTE_ARCH_x86_64 ifdef
- Drop enum rte_atomic_memmodel_t in favor of compiler-defined __ATOMIC_*
- Drop unnecessary comment relating to X86_64
- Tweak the pseudocode to
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| 33
lib/librte_eal/common/include/generic/rte_atomic.h | 59 ++
2 files changed, 92
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 +
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
---
MAINTAINERS | 2 +-
drivers/mempool/stack/Makefile| 3
.
The linked list elements themselves are maintained in a non-blocking LIFO,
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
E5-2699 v4,
running on isolcpus cores with a tickless scheduler. The lock-based stack's
rate_persec was 0.6x-3.5x the non-blocking stack's.
Signed-off-by: Gage Eads
---
doc/guides/prog_guide/env_abstraction_layer.rst | 5 +
doc/guides/rel_notes/release_19_05.rst | 5 +
d
(if possible):
- Two hyperthreads
- Two physical cores
- Two physical cores on separate NUMA nodes
- All available lcores
Signed-off-by: Gage Eads
---
test/test/Makefile | 1 +
test/test/meson.build | 2 +
test/test/test_stack_perf.c | 343
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 +
test/test/Makefile | 2 +
test/test/meson.build | 3 +
test/test
This commit adds non-blocking stack variants of stack_autotest
(stack_nb_autotest) and stack_perf_autotest (stack_nb_perf_autotest),
which differ only in that the non-blocking versions pass the STACK_F_NB
flag to all rte_stack_create() calls.
Signed-off-by: Gage Eads
---
test/test/meson.build
es on a 128-bit compare-and-swap, so
it is currently limited to the x86_64 platform.
This patchset is the successor to a patchset containing only the new mempool
handler[1].
[1] http://mails.dpdk.org/archives/dev/2019-January/123555.html
Gage Eads (7):
stack: introduce rte stack library
This commit fixes a bug in which pdump -- particularly when used in a
unidirectional manner -- could attempt to remove devices it didn't create.
Fixes: 35cb223ab7be ("pdump: fix vdev cleanup")
Cc: sta...@dpdk.org
Signed-off-by: Gage Eads
---
app/pdump/main.c | 17 ++
This commit fixes a bug in which a unidirectional pdump could attempt to
remove devices it didn't create.
Fixes: 35cb223ab7be ("app/pdump: fix vdev cleanup")
Cc: sta...@dpdk.org
Signed-off-by: Gage Eads
Acked-by: Reshma Pattan
---
v2: Tweak commit message
app/pd
This operation can be used for non-blocking algorithms, such as a
non-blocking stack or ring.
Signed-off-by: Gage Eads
Reviewed-by: Honnappa Nagarahalli
---
.../common/include/arch/x86/rte_atomic_64.h| 33
lib/librte_eal/common/include/generic/rte_atomic.h | 59
or of compiler-defined __ATOMIC_*
- Drop unnecessary comment relating to X86_64
- Tweak the pseudocode to reflect the 'exp' update on failure.
Gage Eads (1):
eal: add 128-bit compare exchange (x86-64 only)
.../common/include/arch/x86/rte_atomic_64.h| 33
lib/lib
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 +
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 separate patchset
Gage Eads (8):
stack: introduce rte stack l
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
1 - 100 of 248 matches
Mail list logo