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,
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
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
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
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
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
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
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
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
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
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
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
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
'/**<' style comments apply to the previous member, which caused doxygen to
emit the RTE_RING_NAMESIZE documentation for RTE_RING_MZ_PREFIX.
Fixes: 38c9817ee1d8 ("mempool: adjust name size in related data types")
Cc: sta...@dpdk.org
Signed-off-by: Gage Eads
---
lib/lib
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
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
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
Reviewed-by: Honnappa Nagarahalli
---
lib
(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 | 345
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
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
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
Reviewed-by: Honnappa Nagarahalli
---
MAINTA
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
Fix stack_thread_push_pop bug ("&t->sz" -> "t->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 elem
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
Reviewed-by: Honnappa Nagarahalli
---
lib
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
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
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
(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 | 345
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
Reviewed-by: Honnappa Nagarahalli
---
MAINTA
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
gt; "t->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 s
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
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
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
Reviewed-by: Honnappa Nagarahalli
---
lib
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
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
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
(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
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
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
Reviewed-by: Honnappa Nagarahalli
---
MAINTA
tring 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 library
mempool/stack: convert mempool
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
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
Reviewed-by: Honnappa Nagarahalli
---
lib
(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
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
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
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
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
e_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 test
test/stack: a
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
Reviewed-by: Honnappa Nagarahalli
---
MAINTA
This operation can be used for non-blocking algorithms, such as a
non-blocking stack or ring.
It is available only for x86_64.
Signed-off-by: Gage Eads
Reviewed-by: Honnappa Nagarahalli
---
This patch addresses x86-64 only; other architectures can/will be supported
in the future. The __atomic
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| 81 ++
1 file changed, 81 insertions(+)
diff --git a/lib
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 reflect the 'exp' update on failure.
Gage Eads (1):
eal: add 128-bit compare
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
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
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
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
(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
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
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
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
->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
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
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
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
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
(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
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
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
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
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
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
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
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
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
(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
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 +
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
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
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
unning on isolcpus cores with a tickless scheduler. Each test run three
times and the results averaged.
Signed-off-by: Gage Eads
---
lib/librte_ring/rte_ring.c | 92 +++--
lib/librte_ring/rte_ring.h | 308 ++---
lib/librte_ring/rte_ring_c11_mem.h | 366
These handlers allow an application to create a mempool based on the
lock-free 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
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
---
app/test/test_ring_perf.c | 19 ---
1 file changed, 16 insertions(+), 3 deletions(-)
diff --git
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
---
app/test/test_ring.c | 61
1 file changed, 38 insertions(+), 23 deletions(-)
di
This marker allows us to replace "&r[1]" with "&r->ring" to locate the
start of the ring.
Signed-off-by: Gage Eads
---
lib/librte_ring/rte_ring.h | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/lib/librte_ring/rte_ring.h b/lib/librte_
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 version
Gage Eads (6):
ring: add a pointer-width headtail structure
ring: ad
es in the same
location in struct rte_ring as 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_r
These handlers allow an application to create a mempool based on the
lock-free 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
es in the same
location in struct rte_ring as 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_r
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
---
app/test/test_ring.c | 61
1 file changed, 38 insertions(+), 23 deletions(-)
di
This marker allows us to replace "&r[1]" with "&r->ring" to locate the
start of the ring.
Signed-off-by: Gage Eads
---
lib/librte_ring/rte_ring.h | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/lib/librte_ring/rte_ring.h b/lib/librte_
unning on isolcpus cores with a tickless scheduler. Each test run three
times and the results averaged.
Signed-off-by: Gage Eads
---
lib/librte_ring/rte_ring.c | 92 +++--
lib/librte_ring/rte_ring.h | 308 ++---
lib/librte_ring/rte_ring_c11_mem.h | 366
x an unnecessary-parentheses checkpatch warning
- Bump librte_ring's library version
Gage Eads (6):
ring: add a pointer-width headtail structure
ring: add a ring start marker
ring: add a lock-free implementation
test_ring: add lock-free ring autotest
test_ring_perf: add lock-free
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
---
app/test/test_ring_perf.c | 19 ---
1 file changed, 16 insertions(+), 3 deletions(-)
diff --git
These handlers allow an application to create a mempool based on the
lock-free 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
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
---
app/test/test_ring_perf.c | 19 ---
1 file changed, 16 insertions(+), 3 deletions(-)
diff --git
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
---
app/test/test_ring.c | 61
1 file changed, 38 insertions(+), 23 deletions(-)
di
unning on isolcpus cores with a tickless scheduler. Each test run three
times and the results averaged.
Signed-off-by: Gage Eads
---
lib/librte_ring/rte_ring.c | 92 +++--
lib/librte_ring/rte_ring.h | 308 ++---
lib/librte_ring/rte_ring_c11_mem.h | 366
This marker allows us to replace "&r[1]" with "&r->ring" to locate the
start of the ring.
Signed-off-by: Gage Eads
---
lib/librte_ring/rte_ring.h | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/lib/librte_ring/rte_ring.h b/lib/librte_
es in the same
location in struct rte_ring as 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_r
1 - 100 of 248 matches
Mail list logo