[PATCH v6 0/3] eal: deprecate last use of pthread_t in public API
David Marchand
david.marchand at redhat.com
Thu Feb 9 12:55:51 CET 2023
On Wed, Feb 8, 2023 at 10:26 PM Tyler Retzlaff
<roretzla at linux.microsoft.com> wrote:
>
> Announce deprecation of rte_ctrl_thread_create API which is the final
> remaining stable API exposing pthread_t.
>
> Provide an equivalent replacement API rte_thread_create_control that
> uses the new rte_thread_t type.
>
> Provide a unit test for the new rte_thread_create_control API
> (test code provided by David Marchand.)
>
> Add missing doxygen index for thread / rte_thread.h.
>
> Notice!
>
> To limit compatibility regression risk and ease removal of the
> existing rte_ctrl_thread_create in the future duplicate most of the
> existing implementation rather than try to have it accommodate both
> public API contracts.
>
> The duplication, the union introduced to support it along with remaining
> internal pthread_xxx calls will be removed when rte_ctrl_thread_create is
> finally removed.
>
> The old unit test for rte_ctrl_thread_create is kept in place to guarantee
> correct behavior while deprecated and will be removed when
> rte_ctrl_thread_create is finally removed.
>
> Series-acked-by: Morten Brørup <mb at smartsharesystems.com>
> Reviewed-by: Mattias Rönnblom <mattias.ronnblom at ericsson.com>
>
> v6:
> * fix missing comma in doxygen index
> * combine deprecation notice for rte_ctrl_thread_create into notice
> of removal of rte_thread_setname.
> * remove test_lcore.c test and add test provided by David Marchand
> to test_threads.c.
> * rename the function to start with rte_thread to be consistent
> with the rest of functions in the rte_thread.h APIs.
>
> v5:
> * rebase series now that rte_thread_set_name has been merged,
> remove now unnecessary casts.
> * combine patch adding rte_control_thread_create and patch
> adding unit test into patch 1.
> * reword deprecation notice to indicate which release we
> intend to mark rte_ctrl_thread_create deprecated and which
> release we intend to remove the same.
> * adjust deprecation notice commit subject based on previous
> deprecation notice series feedback.
> * add (mostly unrelated) patch to series to add thread / rte_thread.h
> to doxygen index (an oversight missed from previous series).
>
> v4:
> * fix missing whitespace in deprecation notice text
> * remove comment in rte_control_thread_create implementation
> referring to sched_yield as requested by community feedback
> * add missing parameter name to function pointer declaration
>
> v3:
> * use {ctrl,control}_start_routine for start_routine field names
> * fix conditional evaluation style p == NULL instead of !p
> * tweak documentation comment for rte_control_thread_create
> - "the EAL threads are then excluded"
> - note RTE_MAX_THREAD_NAME_LEN preprocessor definition
> is the name size (including terminating NUL) limit
> * add missing cast to uintptr_t
>
> v2:
> * correct style error void * (*foo) -> void *(*foo)
> * place retval on lhs of comparison 0 != foo() -> foo() != 0
> * add missing commit description on patch 3/3
> * add cast uintptr_t to pthread_t where appropriate
> * fix doxygen @param names to match parameter names
>
> Tyler Retzlaff (3):
> eal: add rte thread create control API
> doc: add missing index entry for thread
> doc: announce deprecation of thread ctrl create function
>
> app/test/test_threads.c | 26 +++++++++++
> doc/api/doxy-api-index.md | 3 +-
> doc/guides/rel_notes/deprecation.rst | 8 ++--
> lib/eal/common/eal_common_thread.c | 85 ++++++++++++++++++++++++++++++++----
> lib/eal/include/rte_thread.h | 33 ++++++++++++++
> lib/eal/version.map | 1 +
> 6 files changed, 143 insertions(+), 13 deletions(-)
Series applied.
Thanks Tyler.
--
David Marchand
More information about the dev
mailing list