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
..
2019-07-04 23:44:58 +02:00
2020-04-16 18:30:58 +02:00
2020-02-16 19:08:53 +01:00
2019-02-26 15:29:27 +01:00
2020-04-16 18:30:58 +02:00
2019-02-26 15:29:27 +01:00
2020-04-16 18:30:58 +02:00
2019-02-26 15:29:27 +01:00
2019-02-26 15:29:27 +01:00
2019-12-20 15:05:41 +01:00
2019-02-26 15:29:27 +01:00
2019-02-26 15:29:27 +01:00
2019-02-26 15:29:27 +01:00
2020-02-05 14:37:41 +01:00
2020-02-05 14:37:41 +01:00
2020-02-05 14:37:41 +01:00
2019-02-26 15:29:27 +01:00
2019-07-06 10:32:34 +02:00
2019-11-06 00:11:44 +01:00
2020-03-04 10:11:07 +01:00
2019-11-06 00:11:44 +01:00
2020-04-25 15:15:30 +02:00
2019-10-23 16:57:06 +02:00
2019-02-26 15:29:27 +01:00
2020-02-05 14:37:41 +01:00
2019-02-26 15:29:27 +01:00
2020-02-05 14:37:41 +01:00
2020-03-04 10:11:07 +01:00
2020-02-05 14:37:41 +01:00
2020-05-11 17:44:13 +02:00
2020-06-11 09:49:43 +02:00
2020-04-16 18:30:58 +02:00
2020-04-16 18:16:46 +02:00
2020-02-05 14:37:41 +01:00
2020-04-16 18:30:58 +02:00
2020-04-16 18:30:58 +02:00
2019-11-08 15:23:37 +01:00
2019-04-11 14:27:32 +02:00
2019-10-27 14:40:55 +01:00
2019-02-26 15:29:27 +01:00
2020-04-16 18:30:58 +02:00
2020-02-05 14:37:41 +01:00
2019-02-26 15:29:27 +01:00
2019-02-26 15:29:27 +01:00
2019-02-26 15:29:27 +01:00
2019-02-26 15:29:27 +01:00
2019-11-26 00:12:08 +01:00
2019-11-07 17:46:43 +01:00
2020-07-03 12:05:05 +02:00
2020-04-16 18:30:58 +02:00
2020-04-16 18:30:58 +02:00
2019-02-26 15:29:27 +01:00
2019-02-26 15:29:27 +01:00
2019-02-26 15:29:27 +01:00
2019-02-26 15:29:27 +01:00
2020-04-16 18:30:58 +02:00
2020-04-16 18:30:58 +02:00
2020-04-16 18:30:58 +02:00
2020-04-16 18:30:58 +02:00
2019-02-26 15:29:27 +01:00
2019-02-26 15:29:27 +01:00
2020-02-16 19:08:53 +01:00
2020-04-19 17:15:14 +02:00