Message ID | 1679092460-9930-1-git-send-email-roretzla@linux.microsoft.com (mailing list archive) |
---|---|
Headers |
Return-Path: <dev-bounces@dpdk.org> X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id D9EFB41EC5; Fri, 17 Mar 2023 23:34:56 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E7AA643002; Fri, 17 Mar 2023 23:34:51 +0100 (CET) Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by mails.dpdk.org (Postfix) with ESMTP id 6239A42FE8 for <dev@dpdk.org>; Fri, 17 Mar 2023 23:34:49 +0100 (CET) Received: by linux.microsoft.com (Postfix, from userid 1086) id 9802C2057675; Fri, 17 Mar 2023 15:34:48 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com 9802C2057675 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1679092488; bh=7Z1EWSs+VykvxWQaeQQ7OtgCPP1HGss5djzetQzVpEM=; h=From:To:Cc:Subject:Date:From; b=nwXU1gXwrYLmTbqaOrTQ5mVUy3b0oNDwyhTfW+8+Dx3KH821/TAeifvD8CzlSuhUB +/7TTvX2Nf171BbSXHOnZ1M/zz9BLasA/DXONnQ1CWd7qvIuqWivh3XHnuASaRFr+f YolkjXhAlcxpTf/58VtbIoixYLuHs2/oSHDvmYxI= From: Tyler Retzlaff <roretzla@linux.microsoft.com> To: dev@dpdk.org Cc: thomas@monjalon.net, Tyler Retzlaff <roretzla@linux.microsoft.com> Subject: [PATCH 0/6] windows: remove most pthread lifetime shim functions Date: Fri, 17 Mar 2023 15:34:14 -0700 Message-Id: <1679092460-9930-1-git-send-email-roretzla@linux.microsoft.com> X-Mailer: git-send-email 1.8.3.1 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions <dev.dpdk.org> List-Unsubscribe: <https://mails.dpdk.org/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://mails.dpdk.org/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <https://mails.dpdk.org/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org |
Series |
windows: remove most pthread lifetime shim functions
|
|
Message
Tyler Retzlaff
March 17, 2023, 10:34 p.m. UTC
Adopt rte thread APIs in code built for Windows to decouple it from the pthread shim. Remove most of the pthread_xxx lifetime shim functions, only pthread_create remains while we wait for rte_ctrl_thread_create removal. Tyler Retzlaff (6): dma/skeleton: use rte thread API net/ixgbe: use rte thread API net/ice: use rte thread API net/iavf: use rte thread API eal: use rte thread API windows: remove most pthread lifetime shim functions drivers/dma/skeleton/skeleton_dmadev.c | 15 +++--- drivers/dma/skeleton/skeleton_dmadev.h | 4 +- drivers/net/iavf/iavf_vchnl.c | 12 ++--- drivers/net/ice/ice_dcf_parent.c | 11 ++-- drivers/net/ixgbe/ixgbe_ethdev.c | 10 ++-- drivers/net/ixgbe/ixgbe_ethdev.h | 2 +- lib/eal/common/eal_common_thread.c | 4 +- lib/eal/windows/eal.c | 2 +- lib/eal/windows/eal_interrupts.c | 12 ++--- lib/eal/windows/include/pthread.h | 99 ---------------------------------- 10 files changed, 36 insertions(+), 135 deletions(-)
Comments
early review if possible please, would like to have this in from the start of 23.07 to work against. thanks! On Fri, Mar 17, 2023 at 03:34:14PM -0700, Tyler Retzlaff wrote: > Adopt rte thread APIs in code built for Windows to decouple it from the > pthread shim. > > Remove most of the pthread_xxx lifetime shim functions, only > pthread_create remains while we wait for rte_ctrl_thread_create removal. > > Tyler Retzlaff (6): > dma/skeleton: use rte thread API > net/ixgbe: use rte thread API > net/ice: use rte thread API > net/iavf: use rte thread API > eal: use rte thread API > windows: remove most pthread lifetime shim functions > > drivers/dma/skeleton/skeleton_dmadev.c | 15 +++--- > drivers/dma/skeleton/skeleton_dmadev.h | 4 +- > drivers/net/iavf/iavf_vchnl.c | 12 ++--- > drivers/net/ice/ice_dcf_parent.c | 11 ++-- > drivers/net/ixgbe/ixgbe_ethdev.c | 10 ++-- > drivers/net/ixgbe/ixgbe_ethdev.h | 2 +- > lib/eal/common/eal_common_thread.c | 4 +- > lib/eal/windows/eal.c | 2 +- > lib/eal/windows/eal_interrupts.c | 12 ++--- > lib/eal/windows/include/pthread.h | 99 ---------------------------------- > 10 files changed, 36 insertions(+), 135 deletions(-) > > -- > 1.8.3.1
Hi folks, just soliciting some review for this orphan of a series. Bruce, Morten have you got some cycles to take a look? Thanks On Fri, Mar 17, 2023 at 03:34:14PM -0700, Tyler Retzlaff wrote: > Adopt rte thread APIs in code built for Windows to decouple it from the > pthread shim. > > Remove most of the pthread_xxx lifetime shim functions, only > pthread_create remains while we wait for rte_ctrl_thread_create removal. > > Tyler Retzlaff (6): > dma/skeleton: use rte thread API > net/ixgbe: use rte thread API > net/ice: use rte thread API > net/iavf: use rte thread API > eal: use rte thread API > windows: remove most pthread lifetime shim functions > > drivers/dma/skeleton/skeleton_dmadev.c | 15 +++--- > drivers/dma/skeleton/skeleton_dmadev.h | 4 +- > drivers/net/iavf/iavf_vchnl.c | 12 ++--- > drivers/net/ice/ice_dcf_parent.c | 11 ++-- > drivers/net/ixgbe/ixgbe_ethdev.c | 10 ++-- > drivers/net/ixgbe/ixgbe_ethdev.h | 2 +- > lib/eal/common/eal_common_thread.c | 4 +- > lib/eal/windows/eal.c | 2 +- > lib/eal/windows/eal_interrupts.c | 12 ++--- > lib/eal/windows/include/pthread.h | 99 ---------------------------------- > 10 files changed, 36 insertions(+), 135 deletions(-) > > -- > 1.8.3.1
On Sun, Apr 02, 2023 at 10:34:12PM -0700, Tyler Retzlaff wrote: > early review if possible please, would like to have this in from the > start of 23.07 to work against. > > thanks! > Don't see any problems with this set. Series-acked-by: Bruce Richardson <bruce.richardson@intel.com> > On Fri, Mar 17, 2023 at 03:34:14PM -0700, Tyler Retzlaff wrote: > > Adopt rte thread APIs in code built for Windows to decouple it from the > > pthread shim. > > > > Remove most of the pthread_xxx lifetime shim functions, only > > pthread_create remains while we wait for rte_ctrl_thread_create removal. > > > > Tyler Retzlaff (6): > > dma/skeleton: use rte thread API > > net/ixgbe: use rte thread API > > net/ice: use rte thread API > > net/iavf: use rte thread API > > eal: use rte thread API > > windows: remove most pthread lifetime shim functions > > > > drivers/dma/skeleton/skeleton_dmadev.c | 15 +++--- > > drivers/dma/skeleton/skeleton_dmadev.h | 4 +- > > drivers/net/iavf/iavf_vchnl.c | 12 ++--- > > drivers/net/ice/ice_dcf_parent.c | 11 ++-- > > drivers/net/ixgbe/ixgbe_ethdev.c | 10 ++-- > > drivers/net/ixgbe/ixgbe_ethdev.h | 2 +- > > lib/eal/common/eal_common_thread.c | 4 +- > > lib/eal/windows/eal.c | 2 +- > > lib/eal/windows/eal_interrupts.c | 12 ++--- > > lib/eal/windows/include/pthread.h | 99 ---------------------------------- > > 10 files changed, 36 insertions(+), 135 deletions(-) > > > > -- > > 1.8.3.1
On Tue, Apr 18, 2023 at 11:21 AM Bruce Richardson <bruce.richardson@intel.com> wrote: > > On Sun, Apr 02, 2023 at 10:34:12PM -0700, Tyler Retzlaff wrote: > > early review if possible please, would like to have this in from the > > start of 23.07 to work against. > > > > thanks! > > > > Don't see any problems with this set. Drivers maintainers were not copied (Tyler, git send-email has options --to-cmd or --cc-cmd to which you can pass ./devtools/get-maintainers.sh). I pinged Qi during the maintainers call today. The changes are straightforward and lgtm. For the series, Reviewed-by: David Marchand <david.marchand@redhat.com>
> -----Original Message----- > From: David Marchand <david.marchand@redhat.com> > Sent: Thursday, June 1, 2023 4:50 PM > To: Richardson, Bruce <bruce.richardson@intel.com>; Tyler Retzlaff > <roretzla@linux.microsoft.com> > Cc: dev@dpdk.org; thomas@monjalon.net; Zhang, Qi Z > <qi.z.zhang@intel.com> > Subject: Re: [PATCH 0/6] windows: remove most pthread lifetime shim > functions > > On Tue, Apr 18, 2023 at 11:21 AM Bruce Richardson > <bruce.richardson@intel.com> wrote: > > > > On Sun, Apr 02, 2023 at 10:34:12PM -0700, Tyler Retzlaff wrote: > > > early review if possible please, would like to have this in from the > > > start of 23.07 to work against. > > > > > > thanks! > > > > > > > Don't see any problems with this set. > > Drivers maintainers were not copied (Tyler, git send-email has options --to- > cmd or --cc-cmd to which you can pass ./devtools/get-maintainers.sh). > I pinged Qi during the maintainers call today. Hi Tyler & David: The patchset looks good to me. I have just one question regarding the patch set targets, which include PMD iavf, ice, and ixgbe. However, I noticed that some other Intel PMDs like ipn3ke still use rte_ctrl_thread_create and have not been replaced. I assume that this replacement is specifically intended for PMDs that support Windows, as PMDs with the "Windows" feature should be covered. However, I didn't see the "Windows" feature enabled for iavf PMD, even though it is included in the patch set. Could you help me understand the criteria used for determining which PMDs should be included in this replacement? Thanks Qi > > The changes are straightforward and lgtm. > For the series, > Reviewed-by: David Marchand <david.marchand@redhat.com> > > > -- > David Marchand
On Thu, Jun 01, 2023 at 12:23:39PM +0000, Zhang, Qi Z wrote: > > > > -----Original Message----- > > From: David Marchand <david.marchand@redhat.com> > > Sent: Thursday, June 1, 2023 4:50 PM > > To: Richardson, Bruce <bruce.richardson@intel.com>; Tyler Retzlaff > > <roretzla@linux.microsoft.com> > > Cc: dev@dpdk.org; thomas@monjalon.net; Zhang, Qi Z > > <qi.z.zhang@intel.com> > > Subject: Re: [PATCH 0/6] windows: remove most pthread lifetime shim > > functions > > > > On Tue, Apr 18, 2023 at 11:21 AM Bruce Richardson > > <bruce.richardson@intel.com> wrote: > > > > > > On Sun, Apr 02, 2023 at 10:34:12PM -0700, Tyler Retzlaff wrote: > > > > early review if possible please, would like to have this in from the > > > > start of 23.07 to work against. > > > > > > > > thanks! > > > > > > > > > > Don't see any problems with this set. > > > > Drivers maintainers were not copied (Tyler, git send-email has options --to- > > cmd or --cc-cmd to which you can pass ./devtools/get-maintainers.sh). > > I pinged Qi during the maintainers call today. > > Hi Tyler & David: > > The patchset looks good to me. > > I have just one question regarding the patch set targets, which include PMD iavf, ice, and ixgbe. However, I noticed that some other Intel PMDs like ipn3ke still use rte_ctrl_thread_create and have not been replaced. The series really isn't about rte_ctrl_thread_create, it just happens that for code built on Windows that code needs to stop using rte_ctrl_thread_create because it references the pthread shim that is being removed. At some point in the future (it's lower priority right now) I will submit a series that converts all rte_ctrl_thread_create -> rte_control_thread_create since rte_ctrl_thread_create is being deprecated. > > I assume that this replacement is specifically intended for PMDs that support Windows, as PMDs with the "Windows" feature should be covered. However, I didn't see the "Windows" feature enabled for iavf PMD, even though it is included in the patch set. > > Could you help me understand the criteria used for determining which PMDs should be included in this replacement? Yes, you are correct the patch is intended to address PMDs / code built on Windows specifically. I just re-verified that iavf is being built for Windows. If I remove the iavf patch from the series I get the following warning, so that is why I adapted the iavf PMD code. [249/749] Compiling C object drivers/libtmp_rte_net_iavf.a.p/net_iavf_iavf_vchnl.c.obj ../drivers/net/iavf/iavf_vchnl.c:162:2: warning: implicit declaration of function 'pthread_join' is invalid in C99 [-Wimplicit-function-declaration] pthread_join(handler->tid, NULL); > > Thanks > Qi > > > > > The changes are straightforward and lgtm. > > For the series, > > Reviewed-by: David Marchand <david.marchand@redhat.com> I think with the above explained the series should be okay as is, no changes required if Qi is okay with the above explanation. > > > > > > -- > > David Marchand >
On Fri, Jun 2, 2023 at 6:22 PM Tyler Retzlaff <roretzla@linux.microsoft.com> wrote: > On Thu, Jun 01, 2023 at 12:23:39PM +0000, Zhang, Qi Z wrote: > > The patchset looks good to me. > > > > I have just one question regarding the patch set targets, which include PMD iavf, ice, and ixgbe. However, I noticed that some other Intel PMDs like ipn3ke still use rte_ctrl_thread_create and have not been replaced. > > The series really isn't about rte_ctrl_thread_create, it just happens > that for code built on Windows that code needs to stop using > rte_ctrl_thread_create because it references the pthread shim that is > being removed. > > At some point in the future (it's lower priority right now) I will > submit a series that converts all rte_ctrl_thread_create -> > rte_control_thread_create since rte_ctrl_thread_create is being > deprecated. > > > > > I assume that this replacement is specifically intended for PMDs that support Windows, as PMDs with the "Windows" feature should be covered. However, I didn't see the "Windows" feature enabled for iavf PMD, even though it is included in the patch set. > > > > Could you help me understand the criteria used for determining which PMDs should be included in this replacement? > > Yes, you are correct the patch is intended to address PMDs / code built > on Windows specifically. I just re-verified that iavf is being built > for Windows. > > If I remove the iavf patch from the series I get the following warning, > so that is why I adapted the iavf PMD code. > > [249/749] Compiling C object > drivers/libtmp_rte_net_iavf.a.p/net_iavf_iavf_vchnl.c.obj > ../drivers/net/iavf/iavf_vchnl.c:162:2: warning: implicit declaration of > function 'pthread_join' is invalid in C99 > [-Wimplicit-function-declaration] > pthread_join(handler->tid, NULL); > > > > > Thanks > > Qi > > > > > > > > The changes are straightforward and lgtm. > > > For the series, > > > Reviewed-by: David Marchand <david.marchand@redhat.com> > > I think with the above explained the series should be okay as is, no > changes required if Qi is okay with the above explanation. Which seems to be the case. Thank you.
On Fri, Mar 17, 2023 at 11:35 PM Tyler Retzlaff <roretzla@linux.microsoft.com> wrote: > > Adopt rte thread APIs in code built for Windows to decouple it from the > pthread shim. > > Remove most of the pthread_xxx lifetime shim functions, only > pthread_create remains while we wait for rte_ctrl_thread_create removal. > > Tyler Retzlaff (6): > dma/skeleton: use rte thread API > net/ixgbe: use rte thread API > net/ice: use rte thread API > net/iavf: use rte thread API > eal: use rte thread API > windows: remove most pthread lifetime shim functions Series applied, thanks Tyler.