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 5E001A0C3F for ; Sat, 12 Jun 2021 01:17:05 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 57D554003F; Sat, 12 Jun 2021 01:17:05 +0200 (CEST) Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2043.outbound.protection.outlook.com [40.107.237.43]) by mails.dpdk.org (Postfix) with ESMTP id 6C047406A2 for ; Sat, 12 Jun 2021 01:17:04 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=P/9vC+up9hS+1L4UfqD2aIWQ/lMWQov8JESd9xdyfd4j5TXmD1x8QH/ZroksEQbtTsuv8rXrEBoLuWDZy+z1CZSlKLp56nDzGz5KdzjohctwlIf3sKp7CcX6GDiHKsyECIl/qtNLi6LRHDOvzDrpuIbfyUufHQTVIS21yPUSWDuZTwjtu7m4hQ/Z3tZ00O4MVO2QusA4+sM+xRP7MBJDKy8zx2jyESN4N5J4yu7iNphdGRks48ldBV2tGR4JjcB300ME9xvWxCh2DIHQZhpp5+2nhhEeLA6l6qjMSisrDkoGEC351WmZZ+U5s+Tk0MY0epa1HdcxC1cLt6XWkaH3XQ== 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=rm5QVflsN2xmpGSlZ+/HFNTK+qg3HDN0lYSWJAoBFHo=; b=IijP4w9vDF5TREGHqM+JgAY2EZn5pgNC/CUTDN3oYOBECCxtvK5Wf+nJoqMwWWEEaj2316ic/RmvbyRM04DHSJTmYKQFtyzxVF7Bu6A5PiHzO20CbzQJNOLgMjDSFc9jDYMT+MEt20Nm6CmBQivtlT+XniSJ2Vo2W7nA4iwUsvM+3PDdL5IaGZhbrdBOV0mbRZAOHdcZvy1sumtXkMN0vZ0AnStnESs19qfMNJThbaiKUpZlHALfombaYSDKJ4neA5+oTsGI5EmWYlbzj+yC4LAUQUMOsCVRdngIjg7fy4o96ALdKT1CuX23SOXj86CnikmTL+YoR6TnHcA/tMLtLA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.112.34) smtp.rcpttodomain=gmail.com 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=rm5QVflsN2xmpGSlZ+/HFNTK+qg3HDN0lYSWJAoBFHo=; b=Noesejjuz/imvEVcAT3qQ7A7z6j6ANCyaHl4bMjEGNiOk/PK22oP9xtMa37ByH1QhZ5xY36nmzeWb6o1IyqhyX6QsK9/rkknVIy6atmHhkKf+as/dK6PCoqGQYnBDLgzjIDWfhFuQnNOa4IbNj3pCOYF7hGyEsTFj7vFMYj/jFcZIuxCjWQ22MwSvTlmJ9z984OUa7rn/pwyp7TGI16io7T+ObHwhHmcwCG4AiuzxWTVtF9mkPdoY5aAhXu9Z4HvvdPjdq9Bw0YAxKAvsCYwUnFYUWmWXKCtaxV9iekVE2gQFZcYKYJDlV5CwT9qozE3MIy4dft0i1EJf8psSaD53A== Received: from BN9PR03CA0017.namprd03.prod.outlook.com (2603:10b6:408:fa::22) by CY4PR12MB1767.namprd12.prod.outlook.com (2603:10b6:903:121::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4219.20; Fri, 11 Jun 2021 23:17:03 +0000 Received: from BN8NAM11FT035.eop-nam11.prod.protection.outlook.com (2603:10b6:408:fa:cafe::64) by BN9PR03CA0017.outlook.office365.com (2603:10b6:408:fa::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4219.21 via Frontend Transport; Fri, 11 Jun 2021 23:17:03 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.112.34) smtp.mailfrom=nvidia.com; gmail.com; dkim=none (message not signed) header.d=none;gmail.com; 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 BN8NAM11FT035.mail.protection.outlook.com (10.13.177.116) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.4219.21 via Frontend Transport; Fri, 11 Jun 2021 23:17:02 +0000 Received: from nvidia.com (172.20.187.5) by HQMAIL107.nvidia.com (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 11 Jun 2021 23:17:00 +0000 From: Xueming Li To: David Marchand CC: Luca Boccassi , Haiyue Wang , Dmitry Kozlyuk , dpdk stable Date: Sat, 12 Jun 2021 07:03:44 +0800 Message-ID: <20210611230433.8208-130-xuemingl@nvidia.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210611230433.8208-1-xuemingl@nvidia.com> References: <20210510160258.30982-229-xuemingl@nvidia.com> <20210611230433.8208-1-xuemingl@nvidia.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Originating-IP: [172.20.187.5] X-ClientProxiedBy: HQMAIL105.nvidia.com (172.20.187.12) To HQMAIL107.nvidia.com (172.20.187.13) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: e4b8de90-a42e-4e7d-a182-08d92d2f0596 X-MS-TrafficTypeDiagnostic: CY4PR12MB1767: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:10000; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: CgwCm0GYEJf8uvDzPZFGq69/mz0SjOKLSLytjxtiUWzPXKXLL9Vfb+2ToGdiwKaVSGjL+YtrukJXqhf481Asiqvs4qdQiI8xod0/BaII9tfpROkywJftiyx6ZVbHllsO3MImrK+9TOjl8hOlqdLiCXur7ModrajJ6WMogwHlmkyX94Psgd1pWPnvdwk0BWAvApwVM5CgKMiCNkzPmzBRx7r2sYwS/CRfejgXTfprNW/kTac+ro7IqI6fM65AxHOzMBfVzUzvB1n+4byCNtY9ivkAotrmK55K059PpVdAgND/1R00EVw7XCJWBQhBLkzB072eUel2Kc+KNBPOLtBL5k001TlgZQQKjPG+V+HdEVUizvTVLmqSr3YjUm56XNhRDg/MYDOdeC4x++xO9fS6RF1JidJeuELVNtLtWJjgPMTpZ1PwrcimuaS0o87jRh5qwuuIeX8LbA7Z4wPOC6+mqP8RZXj83qDXz2aRfuFZc9yhe3BmdkcPHsHZ9a/2gZ5tr4bkMJrki0aK0P3+yGkMY4kA9YJNza0Y9khYEdE43qdOWyx4/Vf/Q9qvlYHa8ISupIuf7HUeVcT8TeOVYfQ/AeuKiv7+nv6qNhn0dOkRmEQOnQdxcKzzd0wkhyqxEYXrUcBYTFZfmLBU3A4pwdoKuJyvFWZN/PeTVy7KnZwhpznuitoN2KytSarSMmuJmwuvXpomONh6qFV8Ku2YNz1aHj+UdGmnHJ1AD2gmRwjrLR4jLnL2AACINMti5lgmitYhDssmWc5c0q6PA0t2xZJLTmHW87ibcuBvuN6ckYzM+MfX7wIHvwd8hfZfA19RojHC 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)(376002)(346002)(396003)(39860400002)(136003)(46966006)(36840700001)(55016002)(356005)(82740400003)(26005)(82310400003)(5660300002)(1076003)(7636003)(54906003)(36756003)(53546011)(83380400001)(47076005)(2906002)(6916009)(186003)(16526019)(86362001)(426003)(2616005)(70586007)(70206006)(966005)(478600001)(6286002)(316002)(36860700001)(8676002)(36906005)(7696005)(6666004)(4326008)(8936002)(336012); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Jun 2021 23:17:02.8477 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e4b8de90-a42e-4e7d-a182-08d92d2f0596 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: BN8NAM11FT035.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR12MB1767 Subject: [dpdk-stable] patch 'net/ice: fix leak on thread termination' 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 06/14/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/1cf7b4c7692ab2a8eaf455654a9bd46eab606b90 Thanks. Xueming Li --- >From 1cf7b4c7692ab2a8eaf455654a9bd46eab606b90 Mon Sep 17 00:00:00 2001 From: David Marchand Date: Tue, 11 May 2021 13:33:58 +0200 Subject: [PATCH] net/ice: fix leak on thread termination Cc: Luca Boccassi [ upstream commit 8eff201b0021a5821cd71149a43805501f9373c1 ] A terminated pthread should be joined or detached so that its associated resources are released. The "ice-reset-" threads are used to service some reset task in the background, but they are never joined by the thread that created them. The easiest solution is to detach new threads. The Windows EAL did not provide a pthread_detach wrapper but there is no resource to release for Windows threads, so add an empty wrapper. Fixes: 3b3757bda3c3 ("net/ice: get VF hardware index in DCF") Signed-off-by: David Marchand Acked-by: Haiyue Wang Acked-by: Dmitry Kozlyuk --- drivers/net/ice/ice_dcf_parent.c | 2 ++ lib/librte_eal/windows/include/pthread.h | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/drivers/net/ice/ice_dcf_parent.c b/drivers/net/ice/ice_dcf_parent.c index 30ead4c9fd..b109e360f9 100644 --- a/drivers/net/ice/ice_dcf_parent.c +++ b/drivers/net/ice/ice_dcf_parent.c @@ -112,8 +112,10 @@ ice_dcf_vsi_update_service_handler(void *param) { struct ice_dcf_hw *hw = param; + pthread_detach(pthread_self()); usleep(ICE_DCF_VSI_UPDATE_SERVICE_INTERVAL); + rte_spinlock_lock(&vsi_update_lock); if (!ice_dcf_handle_vsi_update_event(hw)) { diff --git a/lib/librte_eal/windows/include/pthread.h b/lib/librte_eal/windows/include/pthread.h index 1939b0121c..27fd2cca52 100644 --- a/lib/librte_eal/windows/include/pthread.h +++ b/lib/librte_eal/windows/include/pthread.h @@ -143,6 +143,12 @@ pthread_create(void *threadid, const void *threadattr, void *threadfunc, return ((hThread != NULL) ? 0 : E_FAIL); } +static inline int +pthread_detach(__rte_unused pthread_t thread) +{ + return 0; +} + static inline int pthread_join(__rte_unused pthread_t thread, __rte_unused void **value_ptr) -- 2.25.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-06-12 06:53:59.907392900 +0800 +++ 0130-net-ice-fix-leak-on-thread-termination.patch 2021-06-12 06:53:56.540000000 +0800 @@ -1 +1 @@ -From 8eff201b0021a5821cd71149a43805501f9373c1 Mon Sep 17 00:00:00 2001 +From 1cf7b4c7692ab2a8eaf455654a9bd46eab606b90 Mon Sep 17 00:00:00 2001 @@ -4,0 +5,3 @@ +Cc: Luca Boccassi + +[ upstream commit 8eff201b0021a5821cd71149a43805501f9373c1 ] @@ -18 +20,0 @@ -Cc: stable@dpdk.org @@ -24,2 +26,2 @@ - drivers/net/ice/ice_dcf_parent.c | 2 ++ - lib/eal/windows/include/pthread.h | 6 ++++++ + drivers/net/ice/ice_dcf_parent.c | 2 ++ + lib/librte_eal/windows/include/pthread.h | 6 ++++++ @@ -29 +31 @@ -index c8e433239b..1d7aa8bc87 100644 +index 30ead4c9fd..b109e360f9 100644 @@ -32,3 +34,3 @@ -@@ -121,6 +121,8 @@ ice_dcf_vsi_update_service_handler(void *param) - struct ice_dcf_hw *hw = reset_param->dcf_hw; - struct ice_dcf_adapter *adapter; +@@ -112,8 +112,10 @@ ice_dcf_vsi_update_service_handler(void *param) + { + struct ice_dcf_hw *hw = param; @@ -37,2 +39 @@ -+ - rte_delay_us(ICE_DCF_VSI_UPDATE_SERVICE_INTERVAL); + usleep(ICE_DCF_VSI_UPDATE_SERVICE_INTERVAL); @@ -39,0 +41 @@ ++ @@ -41 +43,3 @@ -diff --git a/lib/eal/windows/include/pthread.h b/lib/eal/windows/include/pthread.h + + if (!ice_dcf_handle_vsi_update_event(hw)) { +diff --git a/lib/librte_eal/windows/include/pthread.h b/lib/librte_eal/windows/include/pthread.h @@ -43,2 +47,2 @@ ---- a/lib/eal/windows/include/pthread.h -+++ b/lib/eal/windows/include/pthread.h +--- a/lib/librte_eal/windows/include/pthread.h ++++ b/lib/librte_eal/windows/include/pthread.h