From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id C64F541B92; Tue, 31 Jan 2023 21:33:04 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A3D0A40684; Tue, 31 Jan 2023 21:33:04 +0100 (CET) Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by mails.dpdk.org (Postfix) with ESMTP id 07B1F4067B for ; Tue, 31 Jan 2023 21:33:03 +0100 (CET) Received: by linux.microsoft.com (Postfix, from userid 1086) id 5D66620DFDBF; Tue, 31 Jan 2023 12:33:02 -0800 (PST) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com 5D66620DFDBF DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1675197182; bh=IE1ql0n0UtQA+2X1d0uujpKA9dFHeGtXhOQ3YfjN85I=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=mWLiP7uFfh/Xyo21Dpc9t42qZgdAHPfpjGYI02dDPkMn+y++ltiILfY4uaURNCbSr U/NYQT/GPeNa7ZFV7+feJT6QUdA/LAXULJRAOBRFG8am8sqYn77GO1gYdFFcsRly/h VVeGQGhv4W8V79chYO3hISJt+xwmQ9EtehMMewuc= Date: Tue, 31 Jan 2023 12:33:02 -0800 From: Tyler Retzlaff 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 Subject: Re: [PATCH v5 0/3] eal: deprecate last use of pthread_t in public API Message-ID: <20230131203302.GA10871@linuxonhyperv3.guj3yctzbm1etfxqx2vob5hsef.xx.internal.cloudapp.net> References: <1670271868-11364-1-git-send-email-roretzla@linux.microsoft.com> <1675197017-11287-1-git-send-email-roretzla@linux.microsoft.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <1675197017-11287-1-git-send-email-roretzla@linux.microsoft.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org top-post this is a re-submission of v5 of the series due to a mistake i made in the first submission that caused it not to be correctly submitted to patchwork. apologies for the noise. On Tue, Jan 31, 2023 at 12:30:14PM -0800, Tyler Retzlaff 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_control_thread_create that > uses the new rte_thread_t type. > > Provide a unit test for the new rte_control_thread_create API. > > 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 > Reviewed-by: Mattias Rönnblom > > 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 control thread create API > doc: add missing index entry for thread > doc: announce deprecation of thread ctrl create function > > app/test/test_lcores.c | 41 +++++++++++++++++ > doc/api/doxy-api-index.md | 1 + > doc/guides/rel_notes/deprecation.rst | 5 +++ > lib/eal/common/eal_common_thread.c | 85 ++++++++++++++++++++++++++++++++---- > lib/eal/include/rte_thread.h | 33 ++++++++++++++ > lib/eal/version.map | 1 + > 6 files changed, 158 insertions(+), 8 deletions(-) > > -- > 1.8.3.1