numam-dpdk/lib/librte_mempool
David Marchand 5c307ba2a5 eal: register non-EAL threads as lcores
DPDK allows calling some part of its API from a non-EAL thread but this
has some limitations.
OVS (and other applications) has its own thread management but still
want to avoid such limitations by hacking RTE_PER_LCORE(_lcore_id) and
faking EAL threads potentially unknown of some DPDK component.

Introduce a new API to register non-EAL thread and associate them to a
free lcore with a new NON_EAL role.
This role denotes lcores that do not run DPDK mainloop and as such
prevents use of rte_eal_wait_lcore() and consorts.

Multiprocess is not supported as the need for cohabitation with this new
feature is unclear at the moment.

Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
2020-07-08 14:41:05 +02:00
..
Makefile mempool: add tracepoints 2020-04-23 15:40:11 +02:00
mempool_trace_points.c trace: simplify trace point registration 2020-07-05 21:34:21 +02:00
meson.build mempool: return 0 if area is too small on populate 2020-05-05 00:27:05 +02:00
rte_mempool_ops_default.c mempool: use specific macro for object alignment 2019-11-06 11:34:19 +01:00
rte_mempool_ops.c mempool: add tracepoints 2020-04-23 15:40:11 +02:00
rte_mempool_trace_fp.h mempool: add tracepoints 2020-04-23 15:40:11 +02:00
rte_mempool_trace.h trace: add size_t field emitter 2020-06-15 19:27:00 +02:00
rte_mempool_version.map mempool: return 0 if area is too small on populate 2020-05-05 00:27:05 +02:00
rte_mempool.c mempool: use generic memory syscall wrappers 2020-07-07 01:24:55 +02:00
rte_mempool.h eal: register non-EAL threads as lcores 2020-07-08 14:41:05 +02:00