[PATCH v5 0/6] add thread lifetime and attributes API
Tyler Retzlaff
roretzla at linux.microsoft.com
Wed Oct 5 19:07:25 CEST 2022
add rte thread lifetime and attributes api. with these api additions
there is now sufficient platform abstracted thread api to remove the
use of pthread in the unit tests.
v5:
* include errno.h in rte_thread.c since errno.h is no longer included
in rte_common.h
* move rte_thread_attr symbols from 22.07 to 22.11 section of
version.map.
* remove RTE_HAS_CPUSET guards from rte_thread.h
* change case of characters in commit message for patches {6,5,4} of
the series.
v4:
* update version.map to show api from series added in 22.11 instead
of 22.07.
* fix missing parameter name in rte_thread_func declaration causing
doxygen ci failure.
v3:
* change rte_thread_func return type to uint32_t for exit value.
* change rte_thread_join retval to be uint32_t (matched with the
return value from rte_thread_func).
* introduce a wrapper for rte_thread_func on posix platforms to
adapt differences between rte_thread_func and pthread
start_routine.
* remove interpretation / dereference of result from pthread_join
in posix implementation of rte_thread_join.
* fix leak of dynamically allocated thread_routine_ctx on windows
in error paths.
* don't cast and truncate NULL to integer value for rte_thread_join
when pthread_join returns no result.
v2:
* split implementation of rte_thread_equal for windows / posix
and use pthread_equal for posix platforms.
* remove parameter validation assertions and instead return
EINVAL for mandatory pointers to type that are NULL.
* correct doxygen comment parameter name args -> arg
Tyler Retzlaff (6):
eal: add thread attributes
eal: add thread lifetime management
eal: add basic rte thread ID equal API
test/threads: add tests for thread lifetime API
test/threads: add tests for thread attributes API
test/threads: remove unit test use of pthread
app/test/test_threads.c | 134 ++++++++++++++++++++++--
lib/eal/common/meson.build | 1 +
lib/eal/common/rte_thread.c | 62 ++++++++++++
lib/eal/include/rte_thread.h | 185 ++++++++++++++++++++++++++++++++-
lib/eal/unix/rte_thread.c | 141 ++++++++++++++++++++++++++
lib/eal/version.map | 10 ++
lib/eal/windows/include/sched.h | 2 +-
lib/eal/windows/rte_thread.c | 219 ++++++++++++++++++++++++++++++++--------
8 files changed, 702 insertions(+), 52 deletions(-)
create mode 100644 lib/eal/common/rte_thread.c
--
1.8.3.1
More information about the dev
mailing list