From patchwork Mon Jun 12 20:05:49 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexander Kozyrev X-Patchwork-Id: 128518 X-Patchwork-Delegate: rasland@nvidia.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 9941E42C9A; Mon, 12 Jun 2023 22:06:32 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A825442B8E; Mon, 12 Jun 2023 22:06:26 +0200 (CEST) Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2051.outbound.protection.outlook.com [40.107.220.51]) by mails.dpdk.org (Postfix) with ESMTP id 20A7140689 for ; Mon, 12 Jun 2023 22:06:25 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lrSzFqZ038fW7/PJgHOVFZsS4grDbnTk/y4+jQMKex4VGtcH8yPqXl3U0ureplDVFTzTHoLMFCCdMb6qpmaKa4AShIrTfRLA9/E6DFvXlmcnWBo58vqNo5jqzFKJ64TnLBM7ZijLAso4UKjeJhkUReUqS/NA1jp9crfDNsl/eALojuGilkMBhPA/VG/p+fNT1rerYdUVvT4xmEha+NvVulydFZXK43zHMHwUONBTZPPdGQrbj85+B6gti4nWXbWp8nw9mAgDG5OYxpw4plrnTnWh5ClDytHPYKO2ukWq46ZBYWbzOG2tDdLJAiNkPLXUMOtFbQf+clbJ7s2sb/Uaeg== 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=XevX/g7cFKxI0uWR7OPxL9wtBqv5u0v6Tm7haBBffQo=; b=aKmpZmFEX9ntTmM9yUyyYREfup0ayFT/WB5SLKGkRXh/2S84Pn5z1W0q5p+jg2+2z1y9pD9L1dKE9pybjhXjiHVY7ImsUZUq1FIuH2M5IJZUovNEoakmQgUg7Cvzir0IMDJs73CPiztLBA6yEzY1r+g7aXEeBch3dwWjMqTOo2BMEs/CAki9/+gcuA8YBDB5OdMebqWTUZOFo6iI0/cCc9b4Ay9OsLe3wQ1f+aZ9yYtBASCvdh87mz/HrNg0tw+XPJdrArzoSosJR7l6Ya2GtH1VMOeoQA2caZK7GX0R/yMvZdUjfHOlFk0+O34PHf7XynHkX3CJBG0yRIeVurVEwA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.160) smtp.rcpttodomain=dpdk.org 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=XevX/g7cFKxI0uWR7OPxL9wtBqv5u0v6Tm7haBBffQo=; b=TaHzJQs1cC8svI2a37S/qTUZml6oIQ+bSy3pK1w0eHn4wWiUU+NJ2yblTaMGBkx0UT90nOfgDZqVxZtwYQ9jGC01GdQMQwO3YbVs3h+DI8BiqbDEa4tRIj27LwhTSiak3R81smZf/duazxxLvyDD2ir9oy8I+rSo1D1zFFG+XsF47UB6PY1x2fJ2FwuJ0GsD3IApL8lDozAPcB8R0Opdd14yNaYCBzdAD62JFQ/wx1Yj11F82OG+dMv3X+wy7Y7uivR0futR1bmrFO1GuNiT+RxKTupw0m7PMimiLLkhJ4eQI2Bc9DZYf0tim4RpA+qGibOVWucan89N+UCZKWCYLQ== Received: from SA0PR11CA0039.namprd11.prod.outlook.com (2603:10b6:806:d0::14) by SN7PR12MB7882.namprd12.prod.outlook.com (2603:10b6:806:348::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6477.29; Mon, 12 Jun 2023 20:06:23 +0000 Received: from SN1PEPF00026367.namprd02.prod.outlook.com (2603:10b6:806:d0:cafe::84) by SA0PR11CA0039.outlook.office365.com (2603:10b6:806:d0::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6477.34 via Frontend Transport; Mon, 12 Jun 2023 20:06:23 +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 SN1PEPF00026367.mail.protection.outlook.com (10.167.241.132) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6500.22 via Frontend Transport; Mon, 12 Jun 2023 20:06:23 +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.5; Mon, 12 Jun 2023 13:06:12 -0700 Received: from pegasus01.mtr.labs.mlnx (10.126.230.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.37; Mon, 12 Jun 2023 13:06:10 -0700 From: Alexander Kozyrev To: CC: , , , , Subject: [PATCH 1/4] net/mlx5/hws: use the same function to check rule Date: Mon, 12 Jun 2023 23:05:49 +0300 Message-ID: <20230612200552.3450964-2-akozyrev@nvidia.com> X-Mailer: git-send-email 2.18.2 In-Reply-To: <20230612200552.3450964-1-akozyrev@nvidia.com> References: <20230612200552.3450964-1-akozyrev@nvidia.com> MIME-Version: 1.0 X-Originating-IP: [10.126.230.35] X-ClientProxiedBy: rnnvmail201.nvidia.com (10.129.68.8) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN1PEPF00026367:EE_|SN7PR12MB7882:EE_ X-MS-Office365-Filtering-Correlation-Id: 55a3617b-6cc5-47d8-6aa5-08db6b807f01 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: eYe04JD1uDXy6Qb+K3U8j2K4ZxSJBhaw+TZE37cx3i8RBgKHM/ExLjVxrLkjTiY6KZxORXK+WJqn+eEpCcHH1aEWJ9mBXWBEnD6EFLscWTciY60raZbRSAFXm39dIpMNSiuHUIAWSodJnszC6rdSGJ671QlUlR9yzTSxjJRpJZpH9xCa35JcfLD/oYT1YKGnT3Qc32wh3jffwF/OpdssFG8SyvnvTMAgxdvbPboasu78wAJQy4y9Ey9B+r73md5WRUJ5lCmqC6qPLP3D3K2uimBuvgcWKe2Y8+zzlwCTQBDXAqRS4+TGqvTIURhAc2kA76owXsW7sQcGK8TZPhTZEC1LpOmiu9TQb9tPKD2hcLWYA29IlX0AzneTne7gZ0m60QAoU57GXbYn5xUM/p9+mtmceevBSTlDWoXu5C/LBKuyTq0jDKNfJvwYUuuRHLtWeJ5fYq0JfydsUSswCPVpQEnr0gOwwZKMt8QxBOwngApN91s/m9HAROFdeEtlgNWriYfghKY6ybZWhW/bnWPGf+k0GGijOJYmfTLTmqVE4/LrTksCfyzdtl+2WmhhDpsmH3SwyOLJYXq146CC0oBsDvcBAuS41rPoPPNSzW5MexevrxO/X8bpDmfekzeaY8CQ2qw6gZ520zwvfevjTyzxohzik97DeJaIGZK5CZlP29SS091iROHU41kQ64JgaeBZ4lvLX9fYb+RqIQij5lt2YNfdi++ziUDTfwSr4NKkh8Y= 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:(13230028)(4636009)(346002)(396003)(376002)(39860400002)(136003)(451199021)(40470700004)(36840700001)(46966006)(40460700003)(6666004)(70206006)(107886003)(70586007)(316002)(6916009)(4326008)(54906003)(478600001)(86362001)(36756003)(47076005)(36860700001)(1076003)(26005)(336012)(426003)(83380400001)(16526019)(186003)(5660300002)(8936002)(82310400005)(40480700001)(8676002)(2906002)(7636003)(356005)(41300700001)(2616005)(82740400003); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jun 2023 20:06:23.2592 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 55a3617b-6cc5-47d8-6aa5-08db6b807f01 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: SN1PEPF00026367.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB7882 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 From: Erez Shitrit Before handling it for insert/delete Signed-off-by: Erez Shitrit Reviewed-by: Alex Vesker Acked-by: Ori Kam --- drivers/net/mlx5/hws/mlx5dr_rule.c | 38 +++++++++++++++--------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/drivers/net/mlx5/hws/mlx5dr_rule.c b/drivers/net/mlx5/hws/mlx5dr_rule.c index 2418ca0b26..e0c4a6a91a 100644 --- a/drivers/net/mlx5/hws/mlx5dr_rule.c +++ b/drivers/net/mlx5/hws/mlx5dr_rule.c @@ -630,6 +630,23 @@ static int mlx5dr_rule_destroy_root(struct mlx5dr_rule *rule, return 0; } +static int mlx5dr_rule_enqueue_precheck(struct mlx5dr_context *ctx, + struct mlx5dr_rule_attr *attr) +{ + if (unlikely(!attr->user_data)) { + rte_errno = EINVAL; + return rte_errno; + } + + /* Check if there is room in queue */ + if (unlikely(mlx5dr_send_engine_full(&ctx->send_queue[attr->queue_id]))) { + rte_errno = EBUSY; + return rte_errno; + } + + return 0; +} + int mlx5dr_rule_create(struct mlx5dr_matcher *matcher, uint8_t mt_idx, const struct rte_flow_item items[], @@ -644,16 +661,8 @@ int mlx5dr_rule_create(struct mlx5dr_matcher *matcher, rule_handle->matcher = matcher; ctx = matcher->tbl->ctx; - if (unlikely(!attr->user_data)) { - rte_errno = EINVAL; + if (mlx5dr_rule_enqueue_precheck(ctx, attr)) return -rte_errno; - } - - /* Check if there is room in queue */ - if (unlikely(mlx5dr_send_engine_full(&ctx->send_queue[attr->queue_id]))) { - rte_errno = EBUSY; - return -rte_errno; - } assert(matcher->num_of_mt >= mt_idx); assert(matcher->num_of_at >= at_idx); @@ -677,19 +686,10 @@ int mlx5dr_rule_create(struct mlx5dr_matcher *matcher, int mlx5dr_rule_destroy(struct mlx5dr_rule *rule, struct mlx5dr_rule_attr *attr) { - struct mlx5dr_context *ctx = rule->matcher->tbl->ctx; int ret; - if (unlikely(!attr->user_data)) { - rte_errno = EINVAL; - return -rte_errno; - } - - /* Check if there is room in queue */ - if (unlikely(mlx5dr_send_engine_full(&ctx->send_queue[attr->queue_id]))) { - rte_errno = EBUSY; + if (mlx5dr_rule_enqueue_precheck(rule->matcher->tbl->ctx, attr)) return -rte_errno; - } if (unlikely(mlx5dr_table_is_root(rule->matcher->tbl))) ret = mlx5dr_rule_destroy_root(rule, attr);