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 0529C4297B; Tue, 18 Apr 2023 11:19:28 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 9030F40EDF; Tue, 18 Apr 2023 11:19:28 +0200 (CEST) Received: from mga06.intel.com (mga06b.intel.com [134.134.136.31]) by mails.dpdk.org (Postfix) with ESMTP id EC87440698 for ; Tue, 18 Apr 2023 11:19:26 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1681809567; x=1713345567; h=date:from:to:cc:subject:message-id:references: in-reply-to:mime-version; bh=/bX2K10JhMeoIGmDBnBt6mCmw3WghHN9Y1uotFWlr/w=; b=iPfmZBvE0del72o7pXM4U8eS6TkcSfVPQgAssWCEercjb9veIXxIZIbt PBXfMXO7rbqFWDz3vv7C1Sc02tDz7MZ7ztMnZucFMTu2CdR384jmnfIIp NZRbYQsobv6sSGHICcN1a0zuECUV3o5OF8stvcvBRQJ3Tq4yTO9FjCt1e 7LDIJKJ3PI4fn4vrC1lDxO04lwRqlSA+5WXlTylu6Y7Two9YVK8pmXXoQ iOUwwmtXIjRSjm9y8VMGdTe2hi2DDMQpwDVm5Lfc3uNaEMOYHzLeWb2z2 +51Om5iiPE5IJje2+jUWNnaPTuvGTis+ziKSLwUzMllvHr/xBCet6Ozk7 Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10683"; a="408019450" X-IronPort-AV: E=Sophos;i="5.99,206,1677571200"; d="scan'208";a="408019450" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Apr 2023 02:19:23 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10683"; a="760289863" X-IronPort-AV: E=Sophos;i="5.99,206,1677571200"; d="scan'208";a="760289863" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by fmsmga004.fm.intel.com with ESMTP; 18 Apr 2023 02:19:23 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Tue, 18 Apr 2023 02:19:23 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23 via Frontend Transport; Tue, 18 Apr 2023 02:19:23 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.171) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.23; Tue, 18 Apr 2023 02:19:22 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gqBxE6LNu6AEABGYO472rKArxjqb5Rsj2siT2IQO87mXEgsapFBTUz9zzJ7+QZJXn10L2FfXZgYFWULaam+kLjQdwFD9efOLaMi/tJzCDgCKlTzzpUg2y1Qm9yYRW1gjuxpYjHTrRhhrnBpzDWymnpHXUB/WHtZWPD/D4BBXW5UL19kDKzT9jPigLbhlXW44joJk2dLlo+o6CczqeYn4gT+EVoe856ikWqwEQg3AGrbQRvGMSHiDk4PRLgoepnZRk/ZMFuyE7T+rX9qto6zhXKzOJZNovKiqQcqrMJ5c7aa+Xzm1svg9oYQycQrE6ayHYtKnLewDFLqRAGwgvFzYQQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=gnbmwN+Ke2nMe8eTGTpGfuqMDjuqhaXULs/VZ+paAt8=; b=Sj7+7jkdIjxxNK4HJS6BXmf1sVPA2FioeGumfIapWLweEiu/iVEOJ3WYOzRgBF54dT0/e8X3rlmk57wrXkcHyHh0XZxQvteOW5BnszeWgxeaPlkzgfGLb7L+1g8viTB+NyB+bv+ikKuYOzdedQaShj/ksMY0YnkPgj7wzfeJMplx2VpJcLNAOhcG8SAEmijE9o8iTCcJm+UTrq0UMqNspqKOJmF+y7aUFyg7jxaV2RCmwT4+j1+1P4gTp/DCP9QDXNObQDv3seRE7Mx0JVVmlKfCc7lDlyRYtX6bJ2fBHl0IJtbidIwpvA5+HMi4f7CWyNZ3YxuZjNH1EBJLFJgLlA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; Received: from DS0PR11MB7309.namprd11.prod.outlook.com (2603:10b6:8:13e::17) by SA2PR11MB4972.namprd11.prod.outlook.com (2603:10b6:806:fb::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6298.45; Tue, 18 Apr 2023 09:19:21 +0000 Received: from DS0PR11MB7309.namprd11.prod.outlook.com ([fe80::695b:260c:f397:2b69]) by DS0PR11MB7309.namprd11.prod.outlook.com ([fe80::695b:260c:f397:2b69%4]) with mapi id 15.20.6298.030; Tue, 18 Apr 2023 09:19:21 +0000 Date: Tue, 18 Apr 2023 10:19:15 +0100 From: Bruce Richardson To: Tyler Retzlaff CC: , Subject: Re: [PATCH 1/6] dma/skeleton: use rte thread API Message-ID: References: <1679092460-9930-1-git-send-email-roretzla@linux.microsoft.com> <1679092460-9930-2-git-send-email-roretzla@linux.microsoft.com> Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <1679092460-9930-2-git-send-email-roretzla@linux.microsoft.com> X-ClientProxiedBy: LO4P265CA0243.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:350::7) To DS0PR11MB7309.namprd11.prod.outlook.com (2603:10b6:8:13e::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS0PR11MB7309:EE_|SA2PR11MB4972:EE_ X-MS-Office365-Filtering-Correlation-Id: 682c5898-c3a5-4aee-c012-08db3fedfe1c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: iwBIYoekLMQlIqio4vPbK/Z2VKHTYVeEiFby0yA+CPz9Rj6PH/nuw1aMhV/QOcGUjTLydb0ZAlFrE7fbc6y//QPqsH7F1XhWA6xYNAbdns5ztXaH0fTPydT1ZmFwUhmHPD6G5N8JBIXwuEiaJo6raJ6A8du3pvJ8IcOLEF9SiNc0ZKpaoskZdJd2MhMAMhQ8qmQMccatw6aB2v7KZaexbR0b9ONYaudY0Co+BPjwPyqvD12xovuaizBSzl+nFu2dd3d4rZ3gfbG+Da6J+z234ZbgTcqeKAn7jII0Fo5YukwSqI6V2OgvRKA29eLGBlbDQmV9dEVW8+zVGAWYd9LC9zWfcA6+vdXjhra1OdbuzG+jRBG5f++9/+N4IfHTyb+t3Rj3hTS4N0MUYFW4Ux4Yj4FWDjiLqScMJSJ9NA0hxRSZmvQPL91XvclQXL1qRyo7kpR+jKadeAo3wvmz6YnQrk5h5EKGqV6p0cK/tZ4O0OqeqfiKSG1F410dLm9PdTilYQi6fVXrRa84KKkRnT6LkfPOi7b/zJRAeDq60tv2PoUYhHb2FVAZZo7zPwxd9wBO X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DS0PR11MB7309.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(346002)(136003)(366004)(376002)(39860400002)(396003)(451199021)(38100700002)(8936002)(8676002)(44832011)(5660300002)(2906002)(86362001)(478600001)(6486002)(6666004)(186003)(6512007)(66946007)(6506007)(66476007)(26005)(41300700001)(82960400001)(316002)(83380400001)(6916009)(4326008)(66556008); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?Op4RZ+e8raBkj5/mIFAA8mesg7RCzqra+5LDowCJzVQjclUZ6qx80Va9Z921?= =?us-ascii?Q?+yROH4gRblKF2YKKm8tOggfskYik8K6DlphIlviOyQdTW3KPeWi+L0z6E6fG?= =?us-ascii?Q?gR/IpF7/shvSET0SxEk+YDIPSoiSCTk3NcqHmQwLwANo6+b7Fw+10jfBeA12?= =?us-ascii?Q?uo/jKehCy9yErulEX2MLzgVlZg95Lr4aPaxGw+jUwRgMkDUkzSANvHOs2XaX?= =?us-ascii?Q?Gd6IqLEWjsraTjJa+khF6N1JUqajD/Q7R4ormwEgDLX8xuOEoz/yTepTdDNK?= =?us-ascii?Q?WSe8ApQQvVv/Q1QRh51efFJUG6EklmTd4Hf6mTCFKrz7g0NPZWuhOT43COwP?= =?us-ascii?Q?AGoHJ6rtlKAUbsxQTLR75/aMaWGaqPTcEqPgiUfrIXLYnRkgwywDkCJCy7HI?= =?us-ascii?Q?s6jNbqG7vycGnfLUOeibuwt0Xi3oqgs9TO2+ccCVP0PnRQ3h8lxt5+XGmU8G?= =?us-ascii?Q?avcUHI7xZqAXkFy9qAA7Y2Na6GfsnyXDgYe5e527vPMITe2BiRYWK88HtZ6m?= =?us-ascii?Q?IvDMlgWp7PWLWhbLKU0mOIjyzH7Xa8EprbbSnBoOGn7xZ+r+HOyYqEW0q2Tz?= =?us-ascii?Q?IkRhf2YkETzY6lbdoPvtDlMWAv17I30kMcD3II5IfhLl2IzUKn33QmTNIupe?= =?us-ascii?Q?EzQonX2rc++UcEldTra6KEFA+ZvMc3P2vKs97Z4kHAcX+vnjV5UTtI4I75ks?= =?us-ascii?Q?N0bM6J3kIkbPzzMFfPx2rm/mw6uuLTfHUuCx1BxUg0PjTjbaENCNujGo2aQB?= =?us-ascii?Q?kl+sITckgK3eE88v1wnLaLsyGMiyOhjoNKGyzr9rGAQyYq/XBvHsSThwI4MR?= =?us-ascii?Q?mSTh1HxqaBkm0z/loU1zEcbv3TunzGUNiUv71XdxvcZmXUQ3iv+w3VMWYF/Y?= =?us-ascii?Q?AYHX0kd8SQHF/qbbItE7fjH1Ia0pqH/ksU4pzPnjCewvVbNDkx2eNUhTzcrW?= =?us-ascii?Q?20cJ5tz0P/bBm7Ch6H1QvyE01gGD9rYMrn3APFX0TWEZVa0lh/e4LUX2MTyq?= =?us-ascii?Q?LPlZmH+MTqmPnpp+rGDawOWpH/m1VWfuDynA0Gc+DTOL9XTfmLOsDTmFeagd?= =?us-ascii?Q?FWSVRUHbLif1CKz9UYy1HU6En8CzkTlQdT61D0ug5NuQQZ7Xvp+cAMl2EJlI?= =?us-ascii?Q?RLeb4xfQZw/KuzDU0NqvnGYfhYK2QA5p1bfEvad7Yj0iat7H3x4owDT2N0YA?= =?us-ascii?Q?MhnxKRpJepJIzJSA56sTbiFhcr1W5c5JUY1hktM8WILP59Jp2k52wjzWLBh6?= =?us-ascii?Q?2VWdpZFZs10HScrQlxfnGFkC6DESEUTBUzWdlLUQwbiC9nH90InAxWV83pop?= =?us-ascii?Q?lF1cZPAfsRPhxgBXxwvh7uWJgnGs/75BFXVsjajWPSN0jK2oMfgeCy7yEN2K?= =?us-ascii?Q?+GkWZXayAU5tpsigd96a0VuqzFZLYm+gr+8qUHJcJ/ufZEAZfje7A2wgWQ9X?= =?us-ascii?Q?mh7RHQonag8JmO3Ry0HerK+V9UVkhAraHTcdpCUgBcK+qCa4rZ+2FeKVSM0a?= =?us-ascii?Q?FDkAk19ApPlH6Wlan4zV9xotdbUzZ+sIbMPeaSmQAXxArpZQYOKQ+UCok3BZ?= =?us-ascii?Q?t75agLMCmu20J17M5kgFj8+15rYZdNZCcbF1cvi1gy8kgrqm9OvQW9ijTHgn?= =?us-ascii?Q?qA=3D=3D?= X-MS-Exchange-CrossTenant-Network-Message-Id: 682c5898-c3a5-4aee-c012-08db3fedfe1c X-MS-Exchange-CrossTenant-AuthSource: DS0PR11MB7309.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Apr 2023 09:19:20.9029 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 9vkKpF2qMJhMjo/aC+5xiJBT4n57xC4i30X/qzDH0fYiNxRzqQIEOPqB2D8gogS4UuQzXTr4d5uQDXjgpcgBe+lVE0WM5SXtbEZq7vFWGfY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR11MB4972 X-OriginatorOrg: intel.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 On Fri, Mar 17, 2023 at 03:34:15PM -0700, Tyler Retzlaff wrote: > 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 > + Curious as to why this is needed here. Does rte_thread.h not include all needed threading dependencies? [Self-answer] I assume this is for pthread_cancel below, right? > #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); > Is there no rte_* equivalent to pthread_cancel? Will that cause issues later? > 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 >