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 42C2AA0A0E for ; Mon, 10 May 2021 18:19:31 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 3C88440395; Mon, 10 May 2021 18:19:31 +0200 (CEST) Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2049.outbound.protection.outlook.com [40.107.237.49]) by mails.dpdk.org (Postfix) with ESMTP id 3A5CB4014E for ; Mon, 10 May 2021 18:19:29 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SXaynlCCmQFF2TM0PGTyiwSEJRi0j29ID66/Mi6ho5/TOF0ezU5bdqnAlv7Vsb0RLC1w+eDcx01Q7IBZKvcHQZPv1YU2bJzoVNVQ4TS6Vv2qWg9gKX0QwM1dHzqog1RMFzrNPI/7wa13B+RtGXevWUlWlIUwN+VdSvzjBSuOHp19fhh7oFROs+uE/QDAidDIgs29RJk5qn0gkc5bJx6yE148MAkzSu49lolmxLylO05rmT2HDmhpzW+D6sJblUzmxOO888fsMxCl8r6JAitTiwaLrFy/0uo+vHHeiNNjGxC+FxUdXY2rR1aqSlhYgl+Dof9M4mMQXyASv2e40ly1YQ== 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-SenderADCheck; bh=iTkUsh8EGKvYWKPadmCMJAF0jx7e/vF3m7QvFDAgdsQ=; b=l8ziGcmj66EcnzND+5ox4H/1I5efo4ADrGXK9OHW0mVBxl+0ayYGNgDqGP0YQGA6oAlZCNfX/B9jkipnhvjOcCIXQpv0pORiVkVqNF8gKjks59qMPyT4SL6U940cw2Guih3bZa5emSsO+9KNzlhjeO+396StO3/1fWMMHOgRat6H2FMJ/ZK4rkJjT6qcR/q9WSuqMme1IBeWBv+BSRZf5c+PutO9XlYGfrXgsXZETh5aRp+PF3c91jOa0kT4MMmFPQ7eUHNEwJtQ/MR5Ay0MJaVgerdVrj0M3nSCd2Kh0Zr9KU6Ev4gJzkArlE5UwucsGMbaKKp4jcoH224UzJ9sjA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.112.34) smtp.rcpttodomain=dpdk.org smtp.mailfrom=nvidia.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=iTkUsh8EGKvYWKPadmCMJAF0jx7e/vF3m7QvFDAgdsQ=; b=WrpGTV5Iv/yZxCRTtILkOp2/tzgTwFtgmzwsOcjXcK0DHXO2CaYygcfSHVSPt9x1YvtPTqjJDNMYf2gVIOyx0UXk3lWfMRxfiklwduwaFDDU85JiR0TYWFnFDjDCz3TWfviFEKNoVECiAbqFWaLGK63snNwg74fM0eT6VdtYK/YBTHuwLqMTFGTQzlE10tZvvY2XXoDHaeQuoHHXRft6325UzNJ8AK2j9YEYZVNFusuyNmhnO50INL7su/gQ6WGNNkK7o5X2TyqgJp0NhGcXBJNDdYLUCT3vjxF1Tz3KC6v9B1yu41u81GBk/EyIfJ4bAiyRHLMW9aO4um6pzJ2rQw== Received: from DM5PR13CA0064.namprd13.prod.outlook.com (2603:10b6:3:117::26) by CH2PR12MB4214.namprd12.prod.outlook.com (2603:10b6:610:aa::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4108.24; Mon, 10 May 2021 16:19:28 +0000 Received: from DM6NAM11FT028.eop-nam11.prod.protection.outlook.com (2603:10b6:3:117:cafe::ff) by DM5PR13CA0064.outlook.office365.com (2603:10b6:3:117::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4129.12 via Frontend Transport; Mon, 10 May 2021 16:19:28 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.112.34) smtp.mailfrom=nvidia.com; dpdk.org; dkim=none (message not signed) header.d=none;dpdk.org; dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.112.34 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.112.34; helo=mail.nvidia.com; Received: from mail.nvidia.com (216.228.112.34) by DM6NAM11FT028.mail.protection.outlook.com (10.13.173.140) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.4108.25 via Frontend Transport; Mon, 10 May 2021 16:19:28 +0000 Received: from nvidia.com (172.20.145.6) by HQMAIL107.nvidia.com (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Mon, 10 May 2021 16:19:26 +0000 From: Xueming Li To: Tal Shnaiderman CC: Luca Boccassi , dpdk stable Date: Tue, 11 May 2021 00:01:53 +0800 Message-ID: <20210510160258.30982-164-xuemingl@nvidia.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210510160258.30982-1-xuemingl@nvidia.com> References: <20210510160258.30982-1-xuemingl@nvidia.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Originating-IP: [172.20.145.6] X-ClientProxiedBy: HQMAIL111.nvidia.com (172.20.187.18) To HQMAIL107.nvidia.com (172.20.187.13) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 251f18a5-361c-4bd0-8a4f-08d913cf6280 X-MS-TrafficTypeDiagnostic: CH2PR12MB4214: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:9508; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: npf6rWj3udzRlWPwjZQdpzSRGUJNph0mOjw00NFpVr1l/u/UMqd9deJarJgr8yJAE3LdVuJD7egOJt4naCeb6eNypS2BvEIF7x1Wpk2M1h/2K9gm97Tj1TP12QvRmwmV+wxfow7+yZuHKIf/6milWjmKhdydEdl5gEfSI6os3KRFsvGOXtaZUEX8WL+D2Pjh6Hl2rLsihgeES82K0BquCzf0m5lIGhNNnwOTm3ceQelafbPC1kM8hnrVoOeDwIUJAYE+E/YwSbDHRfHETdvw3KPxQ5eorjqxa9f//TBO3zqrtJFMXSTIc/2qYxJCOWJv+wYdn7NTOPJ6yOVwA6GSaFtBEtGttjS0oY9TT//1d0u2QGvJHmuieskNLUjjjZSS54P4CwMNzSv/JNlORLEQIONcmj95snRqCfUovbWmM13rMBGb5IWMHEsdPbYXf1LpXJyykIXfPJEfayLqeiba5bFFTwrGxHskQWCzdCaRe5JOY0nUVukknRqnal7wnb666DDPW6lTdyIS4CSPAljf/9fPefDu5T+sPix6ozXc+oVSnhZ7M83O9bFwWB9FFO56VeaO6G+COjf6YFU23jCe9uxGaOoFoXbkcrggw2xYNmLEQ/j2pV6mTf2+SxQznBYRWFIeTsR/2qTGXcLuqMiXsYB9uSS5fpxHWbWfsQGLeS0M8VoIW10h1aWLztGBZW0Oqgii+iJbkCHDwuoMpclQEWyapZBexEU297nnun1i5MosWmw/DZRodQWnNX2WfDmnsmYbN6/SBevBpvTkNm+91w== X-Forefront-Antispam-Report: CIP:216.228.112.34; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:schybrid03.nvidia.com; CAT:NONE; SFS:(4636009)(396003)(39860400002)(346002)(376002)(136003)(46966006)(36840700001)(6666004)(55016002)(186003)(16526019)(36756003)(478600001)(6636002)(6286002)(4326008)(70206006)(5660300002)(36860700001)(2906002)(36906005)(316002)(966005)(7696005)(70586007)(37006003)(54906003)(336012)(1076003)(7636003)(426003)(26005)(6862004)(47076005)(82740400003)(83380400001)(82310400003)(53546011)(2616005)(356005)(8676002)(86362001)(8936002); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 May 2021 16:19:28.0295 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 251f18a5-361c-4bd0-8a4f-08d913cf6280 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.112.34]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: DM6NAM11FT028.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR12MB4214 Subject: [dpdk-stable] patch 'eal/windows: fix return codes of pthread shim layer' has been queued to stable release 20.11.2 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Sender: "stable" Hi, FYI, your patch has been queued to stable release 20.11.2 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 05/12/21. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/steevenlee/dpdk This queued commit can be viewed at: https://github.com/steevenlee/dpdk/commit/ba0aecb72a6ec252c3a8bcfb4ad7187a6e9f4733 Thanks. Xueming Li --- >From ba0aecb72a6ec252c3a8bcfb4ad7187a6e9f4733 Mon Sep 17 00:00:00 2001 From: Tal Shnaiderman Date: Mon, 12 Apr 2021 13:37:44 +0300 Subject: [PATCH] eal/windows: fix return codes of pthread shim layer Cc: Luca Boccassi [ upstream commit 13e06abc9d316a9e8931de996c160c0359857415 ] The macro definitions of the following pthread functions return incorrect values from the inner function return code. While pthread_barrier_init(), pthread_barrier_destroy() and pthread_cancel() return 0 in a case of success and non-zero (errno) value otherwise the shimming functions InitializeSynchronizationBarrier, DeleteSynchronizationBarrier and TerminateThread return FALSE (0) in a case of failure and TRUE(1) in a case of success. This issue was undetected as none of the functions return codes were checked until such check was added in commit 34cc55cce6b1 ("eal: fix race in control thread creation") exposing the issue by failing pthread_barrier_init() and rte_eal_init() on Windows as a result. The fix aligned the return value of the 3 function with the expected pthread API return values. Fixes: e8428a9d89f1 ("eal/windows: add some basic functions and macros") Signed-off-by: Tal Shnaiderman --- lib/librte_eal/common/eal_common_thread.c | 4 ++-- lib/librte_eal/windows/include/pthread.h | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/librte_eal/common/eal_common_thread.c b/lib/librte_eal/common/eal_common_thread.c index 03dbcd9e86..1a52f42a2b 100644 --- a/lib/librte_eal/common/eal_common_thread.c +++ b/lib/librte_eal/common/eal_common_thread.c @@ -176,7 +176,7 @@ struct rte_thread_ctrl_params { static void ctrl_params_free(struct rte_thread_ctrl_params *params) { if (__atomic_sub_fetch(¶ms->refcnt, 1, __ATOMIC_ACQ_REL) == 0) { - pthread_barrier_destroy(¶ms->configured); + (void)pthread_barrier_destroy(¶ms->configured); free(params); } } @@ -251,7 +251,7 @@ rte_ctrl_thread_create(pthread_t *thread, const char *name, return -ret; fail_with_barrier: - pthread_barrier_destroy(¶ms->configured); + (void)pthread_barrier_destroy(¶ms->configured); fail_no_barrier: free(params); diff --git a/lib/librte_eal/windows/include/pthread.h b/lib/librte_eal/windows/include/pthread.h index 9aeab1fa70..1939b0121c 100644 --- a/lib/librte_eal/windows/include/pthread.h +++ b/lib/librte_eal/windows/include/pthread.h @@ -35,12 +35,12 @@ typedef CRITICAL_SECTION pthread_mutex_t; typedef SYNCHRONIZATION_BARRIER pthread_barrier_t; #define pthread_barrier_init(barrier, attr, count) \ - InitializeSynchronizationBarrier(barrier, count, -1) + !InitializeSynchronizationBarrier(barrier, count, -1) #define pthread_barrier_wait(barrier) EnterSynchronizationBarrier(barrier, \ SYNCHRONIZATION_BARRIER_FLAGS_BLOCK_ONLY) #define pthread_barrier_destroy(barrier) \ - DeleteSynchronizationBarrier(barrier) -#define pthread_cancel(thread) TerminateThread((HANDLE) thread, 0) + !DeleteSynchronizationBarrier(barrier) +#define pthread_cancel(thread) !TerminateThread((HANDLE) thread, 0) /* pthread function overrides */ #define pthread_self() \ -- 2.25.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-05-10 23:59:30.859166400 +0800 +++ 0165-eal-windows-fix-return-codes-of-pthread-shim-layer.patch 2021-05-10 23:59:26.610000000 +0800 @@ -1 +1 @@ -From 13e06abc9d316a9e8931de996c160c0359857415 Mon Sep 17 00:00:00 2001 +From ba0aecb72a6ec252c3a8bcfb4ad7187a6e9f4733 Mon Sep 17 00:00:00 2001 @@ -4,0 +5,3 @@ +Cc: Luca Boccassi + +[ upstream commit 13e06abc9d316a9e8931de996c160c0359857415 ] @@ -25 +27,0 @@ -Cc: stable@dpdk.org