mbox

[v3,0/3] eal: rte_ctrl_thread_create API replacement

Message ID 1670445089-23898-1-git-send-email-roretzla@linux.microsoft.com (mailing list archive)
Headers

Message

Tyler Retzlaff Dec. 7, 2022, 8:31 p.m. UTC
  Remove rte_ctrl_thread_create API which exposes pthread_t and provide
new rte_control_thread_create API based on EALs rte_thread_t.

To limit compatibility regression risk and ease of removal of the
existing rte_ctrl_thread_create in the future duplicate most of the
existing implementation. The duplication will be removed when
rte_ctrl_thread_create is finally duplicated/removed.

The unit test for rte_ctrl_thread_create has been duplicated to exercise
both the old and the new API during transition, as with the API the
duplicate test will be removed when the rte_ctrl_thread_create API is
removed.

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 control thread create API
  test: add rte control thread create API test
  eal: deprecate pthread control thread create API

 app/test/test_lcores.c               | 42 ++++++++++++++++
 doc/guides/rel_notes/deprecation.rst |  4 ++
 lib/eal/common/eal_common_thread.c   | 93 ++++++++++++++++++++++++++++++++----
 lib/eal/include/rte_thread.h         | 30 ++++++++++++
 lib/eal/version.map                  |  3 ++
 5 files changed, 164 insertions(+), 8 deletions(-)