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 9413FA0C4B for ; Thu, 11 Nov 2021 12:25:36 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 87ED741151; Thu, 11 Nov 2021 12:25:36 +0100 (CET) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by mails.dpdk.org (Postfix) with ESMTP id 75D874113D; Thu, 11 Nov 2021 12:25:33 +0100 (CET) X-IronPort-AV: E=McAfee;i="6200,9189,10164"; a="296332765" X-IronPort-AV: E=Sophos;i="5.87,225,1631602800"; d="scan'208";a="296332765" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Nov 2021 03:25:32 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,225,1631602800"; d="scan'208";a="534382638" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by orsmga001.jf.intel.com with ESMTP; 11 Nov 2021 03:25:32 -0800 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Thu, 11 Nov 2021 03:25:31 -0800 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) 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.2242.12 via Frontend Transport; Thu, 11 Nov 2021 03:25:31 -0800 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.175) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.12; Thu, 11 Nov 2021 03:25:31 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Usl+1rk/azJDSkCvUDKJ1JXXVkvZ2T3eEOiqcBeCVG1DrzzI4+ZqezrZgFC/mUDyjOAUV+PWOPxKf6ok/qO+r8vspuQvz182Iw3H247S5fmGL8mRSSc4DQ0I26RtQp0jTYt7euGEsaDwRdoKLTMfE0DPEzSO41d3enxCB/WuvvqAe9e7UFc1KQbfx1ghFNzwCzTZVUCNJLrF+gUZr1XInW2ZUDjKggT0N5eI+6NA9furDyeY4f1HOBN5L9LmXlY+OHC14wWliRvvC74Ft+1+9nGengOzgAJxLvgi3UFhmGgb/xtbCVvlzMkJmU7y3hV6ZvQfqZcEV9sKSpp3gFm/VA== 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=rqHs/RI/JszKBSdICBhVV5Z+aTzrRP8GtOfza/79mTE=; b=BecOUhza7oWVCO5tmYJwKA4Cdy/TfnZaTTDNr8npzfrJpSqRfOC0Dpg8NS1+I36Ozr/MVKiTvLllRHJhRKY8U+/3i8c279Xan1cnwnXaR9smptQP8PeuRxofqMm/wuE3t+jkQZAAxtZwuSGrMPjkW8DyT7Q2v0ZZuIY5y+XMg/U9yLslsPQ2UW672tmVaRJtXPXVFDPc+RJf0MFQ0XDl3nsslZZ0KDoy724wmgem/n/JTf8izvTuAe4t3NGsUa2vvCEhRK5tG93JEprqwc0Xp7eOK9PSWp9WLUW+Qd65/pfI8oo121+YdSjAsq00XN6qMqyQgVhKBF9QpCVgFQMOyw== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=rqHs/RI/JszKBSdICBhVV5Z+aTzrRP8GtOfza/79mTE=; b=MBZByeeCwuK4HHxuH60FZqgjr/3o9xWUa+tb5XwrMD4FZzhAqiEnzLDbB/P3DSdMCRDDuP6iHMWeGR7RJ3ft/hBjgkCvg/t9xwBfGs3tciiUuammHyaVXtFUc0HfphsRz30PmDsFU+yMG1gS2d014/LOL1AISTppBGMUNvQjLCk= Authentication-Results: nvidia.com; dkim=none (message not signed) header.d=none;nvidia.com; dmarc=none action=none header.from=intel.com; Received: from PH0PR11MB5000.namprd11.prod.outlook.com (2603:10b6:510:41::19) by PH0PR11MB5096.namprd11.prod.outlook.com (2603:10b6:510:3c::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4669.17; Thu, 11 Nov 2021 11:25:30 +0000 Received: from PH0PR11MB5000.namprd11.prod.outlook.com ([fe80::bd7d:29be:3342:632c]) by PH0PR11MB5000.namprd11.prod.outlook.com ([fe80::bd7d:29be:3342:632c%6]) with mapi id 15.20.4669.019; Thu, 11 Nov 2021 11:25:30 +0000 Message-ID: Date: Thu, 11 Nov 2021 11:25:24 +0000 Content-Language: en-US To: Slava Ovsiienko , Chengfeng Ye , "david.marchand@redhat.com" , Shahaf Shuler , Matan Azrad CC: "dev@dpdk.org" , "stable@dpdk.org" References: <20211012100204.5569-1-cyeaa@connect.ust.hk> <9543c101-2328-8698-0ea7-a2e754d3146d@intel.com> From: Ferruh Yigit Subject: Re: [dpdk-dev] [PATCH v5] net/mlx5: fix mutex unlock in txpp cleanup X-User: ferruhy In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: LO4P265CA0017.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:2ad::15) To PH0PR11MB5000.namprd11.prod.outlook.com (2603:10b6:510:41::19) MIME-Version: 1.0 Received: from [192.168.0.206] (37.228.236.146) by LO4P265CA0017.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:2ad::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4690.15 via Frontend Transport; Thu, 11 Nov 2021 11:25:28 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: f71f5ba4-8c82-4a39-4320-08d9a505f804 X-MS-TrafficTypeDiagnostic: PH0PR11MB5096: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:4125; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: qM19baKCdYHNturRCRHgeZ/nOWitl/lD6kP3JXsB73DmNPVFajo8/UqlHmEHKAoT2AvscYqBpJYyJWq73si+MZQEedpfgpSGQiC80Sm5SoCi60SPW5ciq7sXcAYes1WBWwvy/YqAwnDusLG+SZoz82lwE4+HqpQVa7yFry84vymtm3nolqw0Q883fPHIKJPoYWkWl3epY+AV2JCEjJZ1QuldcRFe1rBgoe65qcGJ4/x3GbwLDdjD/LDlmLewi/3cbCtmVJAOvCZcdrGD2fVctLjoXUx9EacO0cQlcdbkNnRYo68sqIDmUuD8VPslTlM276c1uMLSiIoccovomJI73e0pTq8E1pRIn/Ef7gsWu6roDpTii5pz32B5M2jgo2OB+o0y2N3rqQ2WRhbVYfpNVhgsYFgrlyMihbPT3zI88VrZpJuQQ0UC3GI1/AoYzr9G/Pi4LHx04GJrNs9GlG1jtkc3ZR99UkDZV92J3XoKyua2GaT9oF9ZhLMvjsbesMUjKFxvzgQHQUE4cQ1LXASukqoRAfJZ870bB9C/uZgQhPt5Pqi9Et949gPbCm0N6TkKZnV2NXj6Zo3+UU/roWrX1rW0RxwNCc7up/+X57dD0R8kHOfLX9ZdH2BmglEiFvIqiQ3cU6CRNFnNexn67bRnEmNkg7woaPc/qh9JeFag1ID9DEZboGves/jSJfChvTex X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH0PR11MB5000.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(366004)(6666004)(66946007)(316002)(26005)(8936002)(86362001)(5660300002)(6486002)(53546011)(38100700002)(4326008)(36756003)(110136005)(31696002)(83380400001)(8676002)(31686004)(186003)(66556008)(66476007)(82960400001)(2616005)(44832011)(54906003)(956004)(16576012)(508600001)(2906002)(45980500001); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?ZkpNZVZTdnBTcWFGWmtKc0VKc1RBT2d0R0ZSUHljNmxpQmhSK3dnbVcvL0FR?= =?utf-8?B?eDdjdm1TUVRjMmM4TVp2NTBaWDcvT1pyalJtMVN2ZWNRZXo4TFV3QTVwK0Zj?= =?utf-8?B?Ynd1eSt3Qk9abXVDNW1hZHM3N3VOSGxDRlRYTElmaTdxb2ZMZWd5aGFiTDRx?= =?utf-8?B?dmdkY1ZVVVhUNk1UYnVKSmJMQ2EzbG5ZYlN6RVE4eDMvakJ1NktuZ21ZTlhs?= =?utf-8?B?TFdabnFBR2NObEEzbGxRclUrZWJiaHFYclZlY21naVp3SUs2VWI1SkNvYXNi?= =?utf-8?B?aVBuOW1WR21IYXhJNUZWUCttSXpNanhQazJkV2Y5U1VXS0QxVXNQQVJ1K0Nk?= =?utf-8?B?VEtETmltTjhTSnNnYmJZWWppcytlaWRLTEc2SmdsNzB4aHQrR3gyVUNMOVJq?= =?utf-8?B?MmMwUlM2cnBtZ0JibGtsZGdWWGNYQ25pbFlpbkxIcUtUcnBKV3BGU0JMTXd4?= =?utf-8?B?SzVzNXkyV3ZFSDZTYWRUK21EZXAzRTV5ZFgxZ2czSnQwYm8wUm9iajlIV3Rs?= =?utf-8?B?WEdxek9KYmY4VlY0NVZTc3NoMVpUejF3cllvVENVNE1iR1Axd2ZRZnNaanEw?= =?utf-8?B?bUNqQ3IyRFJiOTcrc3h6ZEczeXdlbXlpR3hwcisxRmdtdXdXRzg3ZlROaXdr?= =?utf-8?B?S1lNU2cxQlRWbis3OEF5d0x4ZGF1UGVKWEtFRlBoYjdmUFlJQ1BreXNRL01h?= =?utf-8?B?d1NIUkdQYnBlTndGb2YwUVgrbzhyUmpOb1RjMUxnVEdjOEdFY0xRM3dYa1Nq?= =?utf-8?B?TGNyYjRhbERxbWlscGlTcmNNNHdweitKbVVxa2Y1MUptREZ5aDdpNTdYYlps?= =?utf-8?B?VzRYSFE4SDluOGJtWTBrd3pvQUVEbVRiam54ekJ0a1VhNld4RWZCN3dFQ0VY?= =?utf-8?B?TFY4Sk15dzBFRjBlaklkc0JhamRLTzRmL1gvWE83a3VmWG0xeWI5Vm5VbmRz?= =?utf-8?B?aXNGUzR3UEVtNjMrOGNCTmRDOUV4ZnhWZUZoWitUWnJjQjNkQll3TmhsVVJa?= =?utf-8?B?K0JjTVlQT0xsOEZ3cWNCS1BCaGRNSjROWnYwSEd0NjJtM0JiYXptYkhlUDBj?= =?utf-8?B?MUhyaEc1clVWNE81cS90OFpFODVBMXNPVWFWYTdId1gxVkhVeWVJYjgwOVRq?= =?utf-8?B?aHVpbHdRYzRPYVQvaW9CUDQ0T3hsV2VzNEpvUm56a2gwaERPVG4reFBrMnpF?= =?utf-8?B?KzZNN3VaUUk1NlBqUG12Z2N5RHhobmZVcS9DY0w0YSt5MU9tWE1tbGMzTGc4?= =?utf-8?B?TEorTVB6T1QyUFZWQm9kZHVrMkxiTW01Q1d6OXgzZklIeWdGaTNwWjZVOWpq?= =?utf-8?B?enYrQ2tRUEJGSjg4K3padWh1SE5qWU93ZnRHN255UW1Dc2d1S3Z3cWg5RWd5?= =?utf-8?B?cWZRMGlrRjhTYlEzRXVOZFN1TVVEOEtZeWZNUS9xWFRFdml4SFU0b2d1aG9a?= =?utf-8?B?RFcrUkJkMFU3VlJKV0lTZVUxc0cwSkI2dlV5b1gyN1FXdDhsUUs1clpmc2NR?= =?utf-8?B?cWtzaDJnbnloVW1yNExzQ3NYc0xmdEtmMkpQVDBIODlkMFVNQ2ttVkJQcGRF?= =?utf-8?B?NU9XZktsMS9tSnI4VFVKV0h1cXZrS2x3aG1jQ2I1OG1paUoyNi9UeTBTbHBH?= =?utf-8?B?QStMbjQyVEtCWm8wUU9wakNxZ2U3bnRaa2xkalNBQWZhd2xIZ3pHOEN2a1VV?= =?utf-8?B?eXVEU0FDdW1nS3Z0b2pUa085SG1aKzJOWnEzbHI2Y3JzQ2xEUzlPUDM2aWJT?= =?utf-8?B?SjNmS1IxNk50QVVOZXF3V2RYaDNPdCs0YlM1ditDMGZCZE9meUtldzA1a0xM?= =?utf-8?B?QXpEWXFIOStpTjZzTXVDcE9WajNxbzZEN3AvMm5zS0orS09TRnFSdkxYRFRX?= =?utf-8?B?Q2Zib0RRa08yMzM0bjhoa0RLZlp5aFZocEQ0VzBSQ3QyRUtzdnhUSmJOMm82?= =?utf-8?B?bWdZaVI0L2N5dVYyUzQ1eFE0Mk1haUNWcVBFL1QyajlOMFI4TmUzenJ4UXZZ?= =?utf-8?B?OSsrM2UydWM0OWx0NW9GOEtDRHhQdUxINDJNWDk3WHVWZ3BxTmtxVFpMOWgx?= =?utf-8?B?Mm5QenFaYUVBOVNvTlFxdUsrNUJ3aTlQdEdsak5JQlRibXlBYnF6UTY0UGNW?= =?utf-8?B?aHlpSGovL2grRHFta3FhVzczRUw1RGZyYlA4MjdmYy83dlNWWXJNODBFTnhp?= =?utf-8?Q?DmZ7EE8AsCWcWKPKhTa/jyU=3D?= X-MS-Exchange-CrossTenant-Network-Message-Id: f71f5ba4-8c82-4a39-4320-08d9a505f804 X-MS-Exchange-CrossTenant-AuthSource: PH0PR11MB5000.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Nov 2021 11:25:30.7399 (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: 9LmUgYCqshQ5vczj5xtyCNIA2Lc+HOEoMr4xFJjH1kqmTQYn5bk/LcYIqSi7Z/zBU1+16r3fCvI3E43FdV0o0A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB5096 X-OriginatorOrg: intel.com 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 On 11/11/2021 7:06 AM, Slava Ovsiienko wrote: > Hi, Ferruh > >> -----Original Message----- >> From: Ferruh Yigit >> Sent: Wednesday, November 10, 2021 18:57 >> To: Chengfeng Ye ; david.marchand@redhat.com; >> Slava Ovsiienko ; Shahaf Shuler >> ; Matan Azrad >> Cc: dev@dpdk.org; stable@dpdk.org >> Subject: Re: [dpdk-dev] [PATCH v5] net/mlx5: fix mutex unlock in txpp >> cleanup >> >> On 10/12/2021 11:02 AM, Chengfeng Ye wrote: >>> The lock sh->txpp.mutex was not correctly released on one path of >>> cleanup function return, potentially causing the deadlock. >>> >>> Fixes: d133f4cdb7 ("net/mlx5: create clock queue for packet pacing") >>> Cc: stable@dpdk.org >>> >>> Signed-off-by: Chengfeng Ye >>> --- >>> drivers/net/mlx5/mlx5_txpp.c | 6 +++++- >>> 1 file changed, 5 insertions(+), 1 deletion(-) >>> >>> diff --git a/drivers/net/mlx5/mlx5_txpp.c >>> b/drivers/net/mlx5/mlx5_txpp.c index 4f6da9f2d1..0ece788a84 100644 >>> --- a/drivers/net/mlx5/mlx5_txpp.c >>> +++ b/drivers/net/mlx5/mlx5_txpp.c >>> @@ -961,8 +961,12 @@ mlx5_txpp_stop(struct rte_eth_dev *dev) >>> MLX5_ASSERT(!ret); >>> RTE_SET_USED(ret); >>> MLX5_ASSERT(sh->txpp.refcnt); >>> - if (!sh->txpp.refcnt || --sh->txpp.refcnt) >>> + if (!sh->txpp.refcnt || --sh->txpp.refcnt) { >>> + ret = pthread_mutex_unlock(&sh->txpp.mutex); >>> + MLX5_ASSERT(!ret); >>> + RTE_SET_USED(ret); >> >> Is this 'RTE_SET_USED()' need to be used multiple times for same variable? > mmm, It seems "claim_zero()" macro would be better here: > > claim_zero(pthread_mutex_lock(&sh->txpp.mutex)); > > I will provide the cleanup patch, thank you for noticing that > >> This usage looks ugly, I can see why it is used but I wonder if this can be >> solved differently, what about something like following: >> >> #ifdef RTE_LIBRTE_MLX5_DEBUG >> #define MLX5_ASSERT(exp) RTE_VERIFY(exp) >> #else >> #ifdef RTE_ENABLE_ASSERT >> #define MLX5_ASSERT(exp) RTE_ASSERT(exp) >> #else >> #define MLX5_ASSERT(exp) RTE_SET_USED(exp) >> #endif >> #endif > It would directly replace MLX5_ASSERT(exp) with RTE_SET_USED(exp) > if there is neither RTE_ENABLE_ASSERT nor RTE_LIBRTE_MLX5_DEBUG. > We would not like to drop the "not used" check functionality at all , right? > The suggestion was to prevent following kind of usage: MLX5_ASSERT(!ret); RTE_SET_USED(ret); I assume you need above usage when a variable is used only in the 'MLX5_ASSERT', if there is a way to prevent warning in that case without 'RTE_SET_USED' that may be better.