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 8D7A041EC5; Fri, 17 Mar 2023 23:35:10 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 2B4CE43013; Fri, 17 Mar 2023 23:34:54 +0100 (CET) Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by mails.dpdk.org (Postfix) with ESMTP id 681DE42FFA for ; Fri, 17 Mar 2023 23:34:49 +0100 (CET) Received: by linux.microsoft.com (Postfix, from userid 1086) id A4FE12057BE9; Fri, 17 Mar 2023 15:34:48 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com A4FE12057BE9 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1679092488; bh=H8NWCjWV2qCiPFBYFtJgbAO2wFmOGb54CV1nrOl/rMo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=A0Gcg7kHasdao1QB/dAgBnT9mAyZD2eRGGUmSmxJr47eJFwJ7RpP1Gwo8jz/Cw6tv i4REClmBoeaY9v86eYV1JMzy3jFDfqyXsPRmznfCHmY4raEPPtIbEkOyrXv4S7BTGZ 9unLZk05G6ibnoxOeD6kP0cip0I0KKsPC8qt5H8w= From: Tyler Retzlaff To: dev@dpdk.org Cc: thomas@monjalon.net, Tyler Retzlaff Subject: [PATCH 1/6] dma/skeleton: use rte thread API Date: Fri, 17 Mar 2023 15:34:15 -0700 Message-Id: <1679092460-9930-2-git-send-email-roretzla@linux.microsoft.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1679092460-9930-1-git-send-email-roretzla@linux.microsoft.com> References: <1679092460-9930-1-git-send-email-roretzla@linux.microsoft.com> 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 Update driver to use rte thread API where available instead of pthread as a prerequisite to removing pthread stubs on Windows. Signed-off-by: Tyler Retzlaff --- drivers/dma/skeleton/skeleton_dmadev.c | 15 ++++++++------- drivers/dma/skeleton/skeleton_dmadev.h | 4 ++-- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/drivers/dma/skeleton/skeleton_dmadev.c b/drivers/dma/skeleton/skeleton_dmadev.c index daf35ec..2ec10db 100644 --- a/drivers/dma/skeleton/skeleton_dmadev.c +++ b/drivers/dma/skeleton/skeleton_dmadev.c @@ -5,6 +5,8 @@ #include #include +#include + #include #include #include @@ -53,7 +55,7 @@ return 0; } -static void * +static uint32_t cpucopy_thread(void *param) { #define SLEEP_THRESHOLD 10000 @@ -81,7 +83,7 @@ (void)rte_ring_enqueue(hw->desc_completed, (void *)desc); } - return NULL; + return 0; } static void @@ -126,7 +128,7 @@ rte_mb(); snprintf(name, sizeof(name), "dma_skel_%d", dev->data->dev_id); - ret = rte_ctrl_thread_create(&hw->thread, name, NULL, + ret = rte_thread_create_control(&hw->thread, name, NULL, cpucopy_thread, dev); if (ret) { SKELDMA_LOG(ERR, "Start cpucopy thread fail!"); @@ -135,8 +137,7 @@ if (hw->lcore_id != -1) { cpuset = rte_lcore_cpuset(hw->lcore_id); - ret = pthread_setaffinity_np(hw->thread, sizeof(cpuset), - &cpuset); + ret = rte_thread_get_affinity_by_id(hw->thread, &cpuset); if (ret) SKELDMA_LOG(WARNING, "Set thread affinity lcore = %d fail!", @@ -154,8 +155,8 @@ hw->exit_flag = true; rte_delay_ms(1); - (void)pthread_cancel(hw->thread); - pthread_join(hw->thread, NULL); + (void)pthread_cancel((pthread_t)hw->thread.opaque_id); + rte_thread_join(hw->thread, NULL); return 0; } diff --git a/drivers/dma/skeleton/skeleton_dmadev.h b/drivers/dma/skeleton/skeleton_dmadev.h index 6f89400..8670a68 100644 --- a/drivers/dma/skeleton/skeleton_dmadev.h +++ b/drivers/dma/skeleton/skeleton_dmadev.h @@ -5,9 +5,9 @@ #ifndef SKELETON_DMADEV_H #define SKELETON_DMADEV_H -#include #include +#include #define SKELDMA_ARG_LCORE "lcore" @@ -21,7 +21,7 @@ struct skeldma_desc { struct skeldma_hw { int lcore_id; /* cpucopy task affinity core */ int socket_id; - pthread_t thread; /* cpucopy task thread */ + rte_thread_t thread; /* cpucopy task thread */ volatile int exit_flag; /* cpucopy task exit flag */ struct skeldma_desc *desc_mem; -- 1.8.3.1