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 26B12A0A02; Tue, 27 Apr 2021 17:39:51 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C4C2D41291; Tue, 27 Apr 2021 17:39:07 +0200 (CEST) Received: from NAM04-DM6-obe.outbound.protection.outlook.com (mail-dm6nam08on2064.outbound.protection.outlook.com [40.107.102.64]) by mails.dpdk.org (Postfix) with ESMTP id BA8D24128F for ; Tue, 27 Apr 2021 17:39:05 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Qf+Ecy7RwNkhmmC1MpEYSwYqwI1V5Lz5NI66fEF25v0xuStkTak3LQUi6a9EKFsgYKL0pk23SJAV+jI8KpuX3gtbs0vLhi81CZ+55dV4ksIYB1t1puIbhhutD6LBytRs3M6tnhnd0KMLDR/76nx9Ik3xfz3hsugyvNbnwvrQPgQt6KWNWZmr0b3KZRm+NcGSSE/0/udymQQ6yu6tSkUc3X0cTdCW0qaPYnaB88fqHwjf9nHbcCPdSy3CjMUoAZ4m3F/RZT5CJSWHDpCDa7PN4bKIGNMDBPLAK3iwvGbUuBOqSehGia8hHNuKF/6fKlkmE8u6YiKK+unjch/est+9wA== 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=jcpyqG35atCE2Lxqu2pKXO5+UQh6Aq99NQg6LQ8iXpA=; b=ORqKRzliQ7KQlbRZrJg23QFrVBJIsnazv2Fv+KXNU/GCQIOWHejMRjVr9oV11gf4g9wKuP3R1KF/3WW9KoiUswU0qw5DSKDP/pTSNAmqAQxSbNHxDd/+yW9xmTcybVILI9LVUK2PV65x/nAQMJScPMpXvnjM9XKEFm37nJKTfDV2YH8t4k/fCRhcfwpfj2j8+GMgSdD7JWFG8pzHE2mw6bvFiUoMeXBUXplMeL6/Rz80HBo7EUNR40dNqdjuPF8XTOmwVdhnFIxJuCrYzvX8VgOcQCbl1suRXKJdoCrB649pUuXi+lNPd9obDmePUQIUsyjsxfKiaZFxxdC8W5jBBw== 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=jcpyqG35atCE2Lxqu2pKXO5+UQh6Aq99NQg6LQ8iXpA=; b=FI1u5d6DQ5PlxAkLK7VsVv1SXsD9+zMI+pl1nwHbuSqR++Y6k8gDURAzSTCzSDXtQx3Cq9WKNyxL3nAk9RbgpomuM1MYgKtR7ZpfRuBh113M0TNjZcbVpqov7UDxN98V/Z92d/soCZdpclk8VB3DwfQc5vHcwDwuLyHoWSDUcJVQ0Y7ok1cuzJ1i7QasUqZp3TYjpzaijQS7kWi6N5XwNsUQSrYgmZpVZEyVlfE5SDjZW+5Fnyniu7ZTtUhsk+4bsbzAHXw/qP82o19fATWo+ix5rZKeL+jFtVZz8p7t1orXDVD7KnqqGt0EGG7WVTkIBDKT/wvCmH2nuESoccLROA== Received: from MWHPR21CA0043.namprd21.prod.outlook.com (2603:10b6:300:129::29) by DM6PR12MB4283.namprd12.prod.outlook.com (2603:10b6:5:211::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4065.23; Tue, 27 Apr 2021 15:39:04 +0000 Received: from CO1NAM11FT019.eop-nam11.prod.protection.outlook.com (2603:10b6:300:129:cafe::2c) by MWHPR21CA0043.outlook.office365.com (2603:10b6:300:129::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4108.2 via Frontend Transport; Tue, 27 Apr 2021 15:39:04 +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 CO1NAM11FT019.mail.protection.outlook.com (10.13.175.57) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.4065.21 via Frontend Transport; Tue, 27 Apr 2021 15:39:04 +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; Tue, 27 Apr 2021 15:39:02 +0000 From: Bing Zhao To: , CC: , , Date: Tue, 27 Apr 2021 18:38:04 +0300 Message-ID: <20210427153811.11554-11-bingz@nvidia.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20210427153811.11554-1-bingz@nvidia.com> References: <20210427153811.11554-1-bingz@nvidia.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Originating-IP: [172.20.145.6] X-ClientProxiedBy: HQMAIL107.nvidia.com (172.20.187.13) To HQMAIL107.nvidia.com (172.20.187.13) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 0f443e0b-068b-43a8-ace3-08d90992965b X-MS-TrafficTypeDiagnostic: DM6PR12MB4283: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:2449; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Ahfo5j7T12c/NXglYJWfKjH4JuNv8neQC5CNE+ubofRpg2uA2HJ1AaRQCXlMCL/mKtpRKlzlBCzXua98NgjPzjXCIrpNbbvCpklTFnlrPDsVC2tuw70/zvcOfry7oheOMmP6SMU0juIG7FMY/a+XiM14FpXzW1CGmBLRgPZdZsMJQtknmsEsv+zf/UxmQgVpCgvC9bwkxj9hshFTcmi5mMeRoTmUS7VDgZnt2LeNhXs0Ez+STl09ZbfPHKwkBtLOvpzmtrZnxjijYHTAMQNLSWFB+5hS+KuKYvkXQ+wV00/daisjMLIxarh8znuOqaxUF+CG/aRQjOFoiDoEe2qsZy52AmLLUux9vsd6tbVpGSE3jPJpPdeb2mlLl3VtbGphK/iPphLosAjStTTiCCEOi73qpihao11hoNcwnytxcz2tg+arSEiz9ha3CH/kkDZkYb7VeLLpB/jmXUYZ3TCpGorPO7+5Wqe0GncbMwZb975iTZAbaTyr0bhKTBFMAMU1JYTUpL6x42sug9VwvP71/RAIVA7rxopkdbZCGIhiMRbXRDu/BhsHSGYkiHw7OXQCI3rzAtCjUQ5JQehoKg9iDOQ9LiILIGQ2pjle45Nu6gdvf56ZdEmRHsXKWFLt65/oHM6Pi7eEFgR+VS6F71wV5BHeOIvrx61zAtKuwDRUOCE= 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)(346002)(376002)(136003)(39860400002)(36840700001)(46966006)(110136005)(316002)(55016002)(54906003)(36906005)(26005)(2906002)(6286002)(478600001)(82310400003)(107886003)(6636002)(82740400003)(70206006)(8676002)(7696005)(70586007)(36756003)(8936002)(356005)(1076003)(47076005)(83380400001)(7636003)(186003)(4326008)(36860700001)(86362001)(16526019)(426003)(2616005)(5660300002)(336012); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Apr 2021 15:39:04.1042 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 0f443e0b-068b-43a8-ace3-08d90992965b 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: CO1NAM11FT019.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4283 Subject: [dpdk-dev] [PATCH 10/17] net/mlx5: add ASO CT destroy handling 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 Sender: "dev" When trying to destroy an ASO connection tracking context, the DR action created on this context should also be destroyed. Before inserting the related software object into the management free list, the reference count should be checked. Right now, the context object will not be freed to the system and will be reused directly from the free list. Signed-off-by: Bing Zhao --- drivers/net/mlx5/mlx5_flow_dv.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/net/mlx5/mlx5_flow_dv.c b/drivers/net/mlx5/mlx5_flow_dv.c index 9093142..f4fa3a0 100644 --- a/drivers/net/mlx5/mlx5_flow_dv.c +++ b/drivers/net/mlx5/mlx5_flow_dv.c @@ -11153,6 +11153,9 @@ flow_dv_aso_ct_release(struct rte_eth_dev *dev, uint32_t idx) #endif ct->dr_action_rply = NULL; } + /* Clear the state to free, no need in 1st allocation. */ + __atomic_store_n(&ct->state, ASO_CONNTRACK_FREE, + __ATOMIC_RELAXED); rte_spinlock_lock(&mng->ct_sl); LIST_INSERT_HEAD(&mng->free_cts, ct, next); rte_spinlock_unlock(&mng->ct_sl); @@ -13638,6 +13641,12 @@ flow_dv_action_destroy(struct rte_eth_dev *dev, DRV_LOG(DEBUG, "Indirect age action %" PRIu32 " was" " released with references %d.", idx, ret); return 0; + case MLX5_INDIRECT_ACTION_TYPE_CT: + ret = flow_dv_aso_ct_release(dev, idx); + if (ret) + DRV_LOG(DEBUG, "Connection tracking object %u still " + "has references %d.", idx, ret); + return 0; default: return rte_flow_error_set(error, ENOTSUP, RTE_FLOW_ERROR_TYPE_ACTION, -- 2.5.5