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 E139CA00C2; Wed, 2 Nov 2022 12:44:59 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 8CD5240223; Wed, 2 Nov 2022 12:44:59 +0100 (CET) Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2056.outbound.protection.outlook.com [40.107.220.56]) by mails.dpdk.org (Postfix) with ESMTP id EEEDF40041; Wed, 2 Nov 2022 12:44:57 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KtMmPte5t3MjRquVg0BqAwaXGMXROXNHY+N0GAKKC22sAWNE38p/NhICl81kbFj5jsRaLFnI0b6YYMprA1lVNBvCHirQUGCK+qzbaf2pJS13sFyHlD3i2S+SX7g8tRVwNVdyC4fgzwuc2mdA7RrwEBt81Nll7gTfL/FZy5qJlhtmCF9j7gOcGRzJGJkblhDk24AU0/DTTUlUdU1hpf2qw0RMLbISTORPGPiJcrxdLMlh0m9Ekq4J4LD34aMf3f48gmcsRB9EORhUnR/DIZiclYK7vZvcvyR20FEgGiW4wiUIakX1quxikFikeMw6epawugfBZCPoDnz+C3M98YL5iA== 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=wwn0EqhnY8xS0KDqYq7OBexdFYCPIeDgJwBkEPcy/3s=; b=nyi95GlVRQsUH3d7U/KXQAaAw7640wfZPRX8a4Pqu+xMkMZNeV0UiapiSOYHKwDncQ1wKD9NCotRQWRR5gBitS1z+Cqxaiki+/zpmsPFBTQj/UvV7/w+UqqDqVxcGqD4jb5wEq62OK46jeSzUVYXGiIzM8OcDUCfJbQj8Z45yL02EqWD5Ud9rUzGuWJC3XCd4Grb7LvPpgdkEpUFTX/lgZWhvKKm8l0FmVwm1YX2GB+JIRiPENjFIk+eooKOT7Udokv31i8LcbfP2kjrqUwdKDnfQptMHJSujZwFnHMhuOlo+jSLDLYMUxd6WxUOb6AwakOfiuT+Ui8bpIxAFjvszQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.160) smtp.rcpttodomain=monjalon.net smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject 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=wwn0EqhnY8xS0KDqYq7OBexdFYCPIeDgJwBkEPcy/3s=; b=Ma7wlvvt2d+b43VUVZnncGQkacPbocHIYd3ZId52WY/0Yrm8bw6V6NbKAih6CnnJtHJpA8XSbMYu0I3vOj14zz7X4ysXmybxw8KQUptmvRQMFJYNRQrd8AaB7nYQTlln7cmwJwGbLDxJE3okuR30sUuS/tefqLLG1FVaNqRPHFpwqxFvYogh+rgmEalGTuSCldLkgcVi6MWRwWpMF1ceJCaCT2o1G4vEn11p1NSFyMGOrDd3hxgza7ouGWSvgJBHtnXiKc0PuGU+yZFDD9hwO/YNjPOavQntvv3up/0wHzz5OLR5wMo0OAYPjuRsWbvXzPxtghuPNd+5uxKkS+YNyA== Received: from DM6PR06CA0089.namprd06.prod.outlook.com (2603:10b6:5:336::22) by MN2PR12MB4533.namprd12.prod.outlook.com (2603:10b6:208:266::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5769.21; Wed, 2 Nov 2022 11:44:56 +0000 Received: from DM6NAM11FT017.eop-nam11.prod.protection.outlook.com (2603:10b6:5:336:cafe::1d) by DM6PR06CA0089.outlook.office365.com (2603:10b6:5:336::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5769.21 via Frontend Transport; Wed, 2 Nov 2022 11:44:56 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.160) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.160 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.160; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.160) by DM6NAM11FT017.mail.protection.outlook.com (10.13.172.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5791.20 via Frontend Transport; Wed, 2 Nov 2022 11:44:55 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.66) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.26; Wed, 2 Nov 2022 04:44:46 -0700 Received: from nvidia.com (10.126.231.35) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.29; Wed, 2 Nov 2022 04:44:43 -0700 From: Spike Du To: , , , , Shahaf Shuler CC: , , Subject: [PATCH v2] mlx5/testpmd: fix crash on quit with avail thresh enabled Date: Wed, 2 Nov 2022 13:44:25 +0200 Message-ID: <20221102114425.2091580-1-spiked@nvidia.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20221024031403.1572010-1-spiked@nvidia.com> References: <20221024031403.1572010-1-spiked@nvidia.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Originating-IP: [10.126.231.35] X-ClientProxiedBy: rnnvmail202.nvidia.com (10.129.68.7) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM6NAM11FT017:EE_|MN2PR12MB4533:EE_ X-MS-Office365-Filtering-Correlation-Id: 74b86ab1-f714-4078-1b27-08dabcc7a9c7 X-LD-Processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 2fZiIHnF2W5bs8D3h3qAtT1iCda5Q3p4gLjKdTeml1Urhp2peCLp2noBFdaXtm+ePS9faSWDxO5w2mv7rA5/2BkpPDA4Y8NLF8+mCo4/mNBbjj/4YO9NGnzFwGFg7DHMF6nLVCTOAYnrhTJd4/BFU4tcdfnsGd1fk32JK2VronBMU+0LB7/Lhub/Xb+ozKC/P3c3v/4vJN+25dlN9u+X79++IwtLHxXjPCyuZQebKtSpPe/Eg+qJeCW1RID1F3inmwIN/LY9TbBVpbHodToyUfRrnWNXkPjhKlb0gs2ms22MAZKMKdls6NUVFLkVQ+fhx+fFzNSaCmiSgEmfvZEW9UvqHRuRxEg1HtshlOvgL5Db23KdBNcwbb1KxFa7AFLY4yBFjYzggzntUgF6zGFQLyIvBOjNFUcC7fQLdxTL7W4D1tN6U9El2JvSAQNxZ6MZxSOgea38eftbm2TY6AWWh46Pae3ULMuHCqZJTe0YrpZA0WaL69qdqAmtUqonBo+3qRZ9d+xrBG6fe6bIMMuJoCK2WR8GUMhwru/hTBMwOJMNExD6TkcByZRg6tCozth286pKvJ1LoC575urpq4IcTzOa9BsQas3X6S/2AyYeGe1tns6L8Mxuk6qjTT+PINZjwLemfCv8Qarl83WQg2PE5VtJy3FnaBNiekkLah5d+DcWLeK0+FNKvt2tZxjDVMK+e2ne8+LkNsMF3Bcp+a3UntnteUVttymplFDtv33vMcTUMvT+VNUVn6W0FFVrFGLzvXWeHil8X7gQ3N1K3AZNUg== X-Forefront-Antispam-Report: CIP:216.228.117.160; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:dc6edge1.nvidia.com; CAT:NONE; SFS:(13230022)(4636009)(346002)(396003)(136003)(39860400002)(376002)(451199015)(40470700004)(36840700001)(46966006)(110136005)(6636002)(6666004)(54906003)(316002)(2616005)(7696005)(4326008)(8676002)(41300700001)(6286002)(336012)(26005)(478600001)(70206006)(8936002)(47076005)(186003)(16526019)(5660300002)(2906002)(70586007)(1076003)(426003)(40480700001)(7636003)(356005)(82310400005)(40460700003)(36860700001)(86362001)(36756003)(55016003)(82740400003); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Nov 2022 11:44:55.7852 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 74b86ab1-f714-4078-1b27-08dabcc7a9c7 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.117.160]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: DM6NAM11FT017.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4533 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 When testpmd quit with mlx5 avail_thresh enabled, a rte timer handler delays to reconfigure rx queue to re-arm this event. However at the same time, testpmd is destroying rx queues. It's never a valid use case for mlx5 avail_thresh. Before testpmd quit, user should disable avail_thresh configuration to not handle the events. This is documented in mlx5 driver guide. To avoid the crash in such use case, check port status, if it is not RTE_PORT_STARTED, don't process the avail_thresh event. Fixes: f41a5092e6ae ("app/testpmd: add host shaper command") Cc: stable@dpdk.org Signed-off-by: Spike Du --- drivers/net/mlx5/mlx5_testpmd.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/net/mlx5/mlx5_testpmd.c b/drivers/net/mlx5/mlx5_testpmd.c index ed84583..879ea28 100644 --- a/drivers/net/mlx5/mlx5_testpmd.c +++ b/drivers/net/mlx5/mlx5_testpmd.c @@ -39,7 +39,15 @@ uint16_t port_id = port_rxq_id & 0xffff; uint16_t qid = (port_rxq_id >> 16) & 0xffff; struct rte_eth_rxq_info qinfo; + struct rte_port *port; + port = &ports[port_id]; + if (port->port_status != RTE_PORT_STARTED) { + printf("%s port_status(%d) is incorrect, stop avail_thresh " + "event processing.\n", + __func__, port->port_status); + return; + } printf("%s disable shaper\n", __func__); if (rte_eth_rx_queue_info_get(port_id, qid, &qinfo)) { printf("rx_queue_info_get returns error\n"); -- 1.8.3.1