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 37ED841C4F; Thu, 9 Feb 2023 12:56:07 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 187A94067B; Thu, 9 Feb 2023 12:56:07 +0100 (CET) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mails.dpdk.org (Postfix) with ESMTP id 90654400D5 for ; Thu, 9 Feb 2023 12:56:05 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1675943765; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=jLr36PdASfAyYAIE+m2J9CXp8gb04b4pjWbqO8pFVgE=; b=B5WF00hDD/gyEMTIpLYN70wVuywaT9Q3P7AMSTcBa+RTPZuTskVuFlAZvy4VsPO/wYOclX SpkY6DJTKgrPuHfnaZUF0k0b+JPuZfgv/8ER/+lTVb1JZb9DSKt6INQLSIpEyNQsntvDyC Z0xdRMTfNDIQyEi2sy/YcjzRfDU++c0= Received: from mail-pg1-f197.google.com (mail-pg1-f197.google.com [209.85.215.197]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-330-RIIjj-tIM0ezwLYH58raqg-1; Thu, 09 Feb 2023 06:56:04 -0500 X-MC-Unique: RIIjj-tIM0ezwLYH58raqg-1 Received: by mail-pg1-f197.google.com with SMTP id c9-20020a63da09000000b004fb1a5a46e9so997977pgh.20 for ; Thu, 09 Feb 2023 03:56:03 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=jLr36PdASfAyYAIE+m2J9CXp8gb04b4pjWbqO8pFVgE=; b=G2uWsOLzo4Xnh2AZ4Iznm5LTVWTXg8t7vJKFS3hiPX412bPSH5Szyam42vSiQh1F9E Unb5FjTii4mFNegjbw/gj4J0ycSCefwk1Vz4y/4/eFUmUydQ3wvaWYnRv/6KuNv16VmJ KWw/FTlP8w2ZpaIz7QRNhlRsn2/54pFZMkuXVMVOJOXApTMnngtOoxoBxZQAzUzEAdh7 T2wGgqz7dP0xNTXidr1FNzZu0u1Bi1xNAu9AkhAwOUONvt186yxn+rU8yy2f054694wp UmjFFbIo6M9g/2btgMEPUFpaoX37O0kBog9TMO+DbXv9XD/JWF0ObLFmtveQcMcUmWDz aKOw== X-Gm-Message-State: AO0yUKWSulb8tmsEeeJpqyww0SS4phep+iQuefL1KcSmGzqTkLJXFFKG Bc58tswj4EOoZ01DrOEdNUXv0bVxHJFCGymdVzqTO8Q29zShePz6k32mLIFlmmatQLlI9kKJl6+ xphh2rBIi8xXyNwyMylE= X-Received: by 2002:a62:1dcc:0:b0:593:f5e4:8d93 with SMTP id d195-20020a621dcc000000b00593f5e48d93mr2702238pfd.4.1675943762905; Thu, 09 Feb 2023 03:56:02 -0800 (PST) X-Google-Smtp-Source: AK7set9+vdcPuU2+jlh13JIr2PHhZehpLfMsIDy6hjAvU2Ewe0pRKv3mVNAuxfP+0lLaS58tFnsppzYXfiMbRP7fMoM= X-Received: by 2002:a62:1dcc:0:b0:593:f5e4:8d93 with SMTP id d195-20020a621dcc000000b00593f5e48d93mr2702236pfd.4.1675943762598; Thu, 09 Feb 2023 03:56:02 -0800 (PST) MIME-Version: 1.0 References: <1670271868-11364-1-git-send-email-roretzla@linux.microsoft.com> <1675891595-28366-1-git-send-email-roretzla@linux.microsoft.com> In-Reply-To: <1675891595-28366-1-git-send-email-roretzla@linux.microsoft.com> From: David Marchand Date: Thu, 9 Feb 2023 12:55:51 +0100 Message-ID: Subject: Re: [PATCH v6 0/3] eal: deprecate last use of pthread_t in public API To: Tyler Retzlaff Cc: dev@dpdk.org, thomas@monjalon.net, olivier.matz@6wind.com, stephen@networkplumber.org, mb@smartsharesystems.com, hofors@lysator.liu.se, Bruce Richardson X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable 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 On Wed, Feb 8, 2023 at 10:26 PM 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_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 guarante= e > correct behavior while deprecated and will be removed when > rte_ctrl_thread_create is finally removed. > > Series-acked-by: Morten Br=C3=B8rup > Reviewed-by: Mattias R=C3=B6nnblom > > 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 =3D=3D 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 !=3D foo() -> foo() !=3D 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. --=20 David Marchand