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 33FD241EC5; Fri, 17 Mar 2023 23:35:23 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id BACF643025; Fri, 17 Mar 2023 23:34:56 +0100 (CET) Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by mails.dpdk.org (Postfix) with ESMTP id 2555F42FE8 for ; Fri, 17 Mar 2023 23:34:50 +0100 (CET) Received: by linux.microsoft.com (Postfix, from userid 1086) id D4D2C20C32D1; Fri, 17 Mar 2023 15:34:48 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com D4D2C20C32D1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1679092488; bh=bikV+G1auLeERTuFb8t7UBTufG9AAQfVxW30ET7n3xo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=of1vtzXBBvUXAGBSqVD7gakCdeYb+DkAF2BCs0ggTRpZVz/p21GLaNOu3LPB8lGza r/D05UR3M+mbK7x2w4z5wFJAv0je+HYuuWPBpxJfEuAWSMoaa16wJiqb6kokWdNkga 14UdsZyHAQ4U9LasKqHralVNF2ihFdBPrXHDYUSM= From: Tyler Retzlaff To: dev@dpdk.org Cc: thomas@monjalon.net, Tyler Retzlaff Subject: [PATCH 5/6] eal: use rte thread API Date: Fri, 17 Mar 2023 15:34:19 -0700 Message-Id: <1679092460-9930-6-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. There is a single pthread_create still in use until rte_ctrl_thread_create is removed. Signed-off-by: Tyler Retzlaff --- lib/eal/common/eal_common_thread.c | 4 ++-- lib/eal/windows/eal.c | 2 +- lib/eal/windows/eal_interrupts.c | 12 ++++++------ 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/lib/eal/common/eal_common_thread.c b/lib/eal/common/eal_common_thread.c index 079a385..e3aad2c 100644 --- a/lib/eal/common/eal_common_thread.c +++ b/lib/eal/common/eal_common_thread.c @@ -176,7 +176,7 @@ unsigned rte_socket_id(void) ret = eal_thread_dump_current_affinity(cpuset, sizeof(cpuset)); RTE_LOG(DEBUG, EAL, "lcore %u is ready (tid=%zx;cpuset=[%s%s])\n", - lcore_id, (uintptr_t)pthread_self(), cpuset, + lcore_id, rte_thread_self().opaque_id, cpuset, ret == 0 ? "" : "..."); rte_eal_trace_thread_lcore_ready(lcore_id, cpuset); @@ -330,7 +330,7 @@ static uint32_t control_thread_start(void *arg) /* Check if the control thread encountered an error */ if (ctrl_thread_status == CTRL_THREAD_ERROR) { /* ctrl thread is exiting */ - pthread_join(*thread, NULL); + rte_thread_join((rte_thread_t){(uintptr_t)*thread}, NULL); } ret = params->ret; diff --git a/lib/eal/windows/eal.c b/lib/eal/windows/eal.c index e7d405b..89da0c0 100644 --- a/lib/eal/windows/eal.c +++ b/lib/eal/windows/eal.c @@ -416,7 +416,7 @@ enum rte_proc_type_t ret = eal_thread_dump_current_affinity(cpuset, sizeof(cpuset)); RTE_LOG(DEBUG, EAL, "Main lcore %u is ready (tid=%zx;cpuset=[%s%s])\n", - config->main_lcore, (uintptr_t)pthread_self(), cpuset, + config->main_lcore, rte_thread_self().opaque_id, cpuset, ret == 0 ? "" : "..."); RTE_LCORE_FOREACH_WORKER(i) { diff --git a/lib/eal/windows/eal_interrupts.c b/lib/eal/windows/eal_interrupts.c index bb0585c..49c4b96 100644 --- a/lib/eal/windows/eal_interrupts.c +++ b/lib/eal/windows/eal_interrupts.c @@ -9,7 +9,7 @@ #define IOCP_KEY_SHUTDOWN UINT32_MAX -static pthread_t intr_thread; +static rte_thread_t intr_thread; static HANDLE intr_iocp; static HANDLE intr_thread_handle; @@ -33,7 +33,7 @@ return 0; } -static void * +static uint32_t eal_intr_thread_main(LPVOID arg __rte_unused) { bool finished = false; @@ -78,12 +78,12 @@ intr_thread_handle = NULL; cleanup: - intr_thread = 0; + intr_thread.opaque_id = 0; CloseHandle(intr_iocp); intr_iocp = NULL; - return NULL; + return 0; } int @@ -98,7 +98,7 @@ return -1; } - ret = rte_ctrl_thread_create(&intr_thread, "eal-intr-thread", NULL, + ret = rte_thread_create_control(&intr_thread, "eal-intr-thread", NULL, eal_intr_thread_main, NULL); if (ret != 0) { rte_errno = -ret; @@ -111,7 +111,7 @@ int rte_thread_is_intr(void) { - return pthread_equal(intr_thread, pthread_self()); + return rte_thread_equal(intr_thread, rte_thread_self()); } int -- 1.8.3.1