DPDK patches and discussions
 help / color / mirror / Atom feed
From: Tyler Retzlaff <roretzla@linux.microsoft.com>
To: dev@dpdk.org
Cc: david.marchand@redhat.com, thomas@monjalon.net,
	olivier.matz@6wind.com, stephen@networkplumber.org,
	mb@smartsharesystems.com, hofors@lysator.liu.se,
	Tyler Retzlaff <roretzla@linux.microsoft.com>
Subject: [PATCH v6 0/3] eal: deprecate last use of pthread_t in public API
Date: Wed,  8 Feb 2023 13:26:32 -0800	[thread overview]
Message-ID: <1675891595-28366-1-git-send-email-roretzla@linux.microsoft.com> (raw)
In-Reply-To: <1670271868-11364-1-git-send-email-roretzla@linux.microsoft.com>

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@smartsharesystems.com>
Reviewed-by: Mattias Rönnblom <mattias.ronnblom@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(-)

-- 
1.8.3.1


  parent reply	other threads:[~2023-02-08 21:26 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-05 20:24 [PATCH 0/3] eal: rte_ctrl_thread_create API replacement Tyler Retzlaff
2022-12-05 20:24 ` [PATCH 1/3] eal: add rte control thread create API Tyler Retzlaff
2022-12-05 21:11   ` Stephen Hemminger
2022-12-06  0:21     ` Tyler Retzlaff
2022-12-06 17:35     ` Tyler Retzlaff
2022-12-07  0:49       ` Stephen Hemminger
2022-12-05 20:24 ` [PATCH 2/3] test: add rte control thread create API test Tyler Retzlaff
2022-12-05 20:24 ` [PATCH 3/3] eal: deprecate pthread control thread create API Tyler Retzlaff
2022-12-05 21:18   ` Stephen Hemminger
2022-12-06  0:24     ` Tyler Retzlaff
2022-12-05 20:34 ` [PATCH 0/3] eal: rte_ctrl_thread_create API replacement Morten Brørup
2022-12-06 17:28 ` [PATCH v2 " Tyler Retzlaff
2022-12-06 17:28   ` [PATCH v2 1/3] eal: add rte control thread create API Tyler Retzlaff
2022-12-07  9:13     ` Mattias Rönnblom
2022-12-07 16:38       ` Tyler Retzlaff
2022-12-07 20:37         ` Tyler Retzlaff
2022-12-08 21:59         ` Mattias Rönnblom
2022-12-08 22:15           ` Tyler Retzlaff
2022-12-09  1:09     ` Stephen Hemminger
2022-12-09 19:49       ` Tyler Retzlaff
2022-12-06 17:28   ` [PATCH v2 2/3] test: add rte control thread create API test Tyler Retzlaff
2022-12-06 17:28   ` [PATCH v2 3/3] eal: deprecate pthread control thread create API Tyler Retzlaff
2022-12-07 20:31 ` [PATCH v3 0/3] eal: rte_ctrl_thread_create API replacement Tyler Retzlaff
2022-12-07 20:31   ` [PATCH v3 1/3] eal: add rte control thread create API Tyler Retzlaff
2022-12-07 20:31   ` [PATCH v3 2/3] test: add rte control thread create API test Tyler Retzlaff
2022-12-07 20:31   ` [PATCH v3 3/3] eal: deprecate pthread control thread create API Tyler Retzlaff
2022-12-08 23:19 ` [PATCH v4 0/3] eal: rte_ctrl_thread_create API replacement Tyler Retzlaff
2022-12-08 23:19   ` [PATCH v4 1/3] eal: add rte control thread create API Tyler Retzlaff
2022-12-08 23:19   ` [PATCH v4 2/3] test: add rte control thread create API test Tyler Retzlaff
2022-12-08 23:19   ` [PATCH v4 3/3] eal: deprecate pthread control thread create API Tyler Retzlaff
2022-12-10 14:31   ` [PATCH v4 0/3] eal: rte_ctrl_thread_create API replacement Mattias Rönnblom
2023-01-31 19:46 ` [PATCH v5 0/3] eal: deprecate last use of pthread_t in public API Tyler Retzlaff
2023-01-31 19:46   ` [PATCH v5 1/3] eal: add rte control thread create API Tyler Retzlaff
2023-01-31 19:46   ` [PATCH v5 2/3] doc: add missing index entry for thread Tyler Retzlaff
2023-01-31 19:46   ` [PATCH v5 3/3] doc: announce deprecation of thread ctrl create function Tyler Retzlaff
2023-01-31 20:30 ` [PATCH v5 0/3] eal: deprecate last use of pthread_t in public API Tyler Retzlaff
2023-01-31 20:30   ` [PATCH v5 1/3] eal: add rte control thread create API Tyler Retzlaff
2023-02-07 13:12     ` David Marchand
2023-02-07 21:41       ` Tyler Retzlaff
2023-01-31 20:30   ` [PATCH v5 2/3] doc: add missing index entry for thread Tyler Retzlaff
2023-02-07 15:39     ` David Marchand
2023-02-07 21:39       ` Tyler Retzlaff
2023-01-31 20:30   ` [PATCH v5 3/3] doc: announce deprecation of thread ctrl create function Tyler Retzlaff
2023-02-07 15:40     ` David Marchand
2023-01-31 20:33   ` [PATCH v5 0/3] eal: deprecate last use of pthread_t in public API Tyler Retzlaff
2023-02-08 21:26 ` Tyler Retzlaff [this message]
2023-02-08 21:26   ` [PATCH v6 1/3] eal: add rte thread create control API Tyler Retzlaff
2023-02-24  5:52     ` Li, WeiyuanX
2023-02-24  8:13     ` David Marchand
2023-02-24 19:04       ` Tyler Retzlaff
2023-02-24 20:52       ` Tyler Retzlaff
2023-02-08 21:26   ` [PATCH v6 2/3] doc: add missing index entry for thread Tyler Retzlaff
2023-02-08 21:26   ` [PATCH v6 3/3] doc: announce deprecation of thread ctrl create function Tyler Retzlaff
2023-02-09  8:59     ` Bruce Richardson
2023-02-09  8:51   ` [PATCH v6 0/3] eal: deprecate last use of pthread_t in public API David Marchand
2023-02-09 11:55   ` David Marchand

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1675891595-28366-1-git-send-email-roretzla@linux.microsoft.com \
    --to=roretzla@linux.microsoft.com \
    --cc=david.marchand@redhat.com \
    --cc=dev@dpdk.org \
    --cc=hofors@lysator.liu.se \
    --cc=mb@smartsharesystems.com \
    --cc=olivier.matz@6wind.com \
    --cc=stephen@networkplumber.org \
    --cc=thomas@monjalon.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).