get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/92789/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 92789,
    "url": "https://patches.dpdk.org/api/patches/92789/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/20210505042004.25280-9-bingz@nvidia.com/",
    "project": {
        "id": 1,
        "url": "https://patches.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<20210505042004.25280-9-bingz@nvidia.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20210505042004.25280-9-bingz@nvidia.com",
    "date": "2021-05-05T04:19:55",
    "name": "[v2,08/17] net/mlx5: close CT management structure",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "a3ea507b251b6945d75a4d85819ea1b70604e1f6",
    "submitter": {
        "id": 1976,
        "url": "https://patches.dpdk.org/api/people/1976/?format=api",
        "name": "Bing Zhao",
        "email": "bingz@nvidia.com"
    },
    "delegate": null,
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/20210505042004.25280-9-bingz@nvidia.com/mbox/",
    "series": [
        {
            "id": 16816,
            "url": "https://patches.dpdk.org/api/series/16816/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=16816",
            "date": "2021-05-05T04:19:47",
            "name": "conntrack support in mlx5 PMD",
            "version": 2,
            "mbox": "https://patches.dpdk.org/series/16816/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/92789/comments/",
    "check": "success",
    "checks": "https://patches.dpdk.org/api/patches/92789/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "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])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 29FF9A034F;\n\tWed,  5 May 2021 06:21:38 +0200 (CEST)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id B9F6D41126;\n\tWed,  5 May 2021 06:21:04 +0200 (CEST)",
            "from NAM02-BL2-obe.outbound.protection.outlook.com\n (mail-eopbgr750080.outbound.protection.outlook.com [40.107.75.80])\n by mails.dpdk.org (Postfix) with ESMTP id E9F0041108\n for <dev@dpdk.org>; Wed,  5 May 2021 06:21:02 +0200 (CEST)",
            "from BN9P220CA0014.NAMP220.PROD.OUTLOOK.COM (2603:10b6:408:13e::19)\n by BN6PR1201MB0212.namprd12.prod.outlook.com (2603:10b6:405:56::20)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4087.42; Wed, 5 May\n 2021 04:21:01 +0000",
            "from BN8NAM11FT060.eop-nam11.prod.protection.outlook.com\n (2603:10b6:408:13e:cafe::ad) by BN9P220CA0014.outlook.office365.com\n (2603:10b6:408:13e::19) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4108.25 via Frontend\n Transport; Wed, 5 May 2021 04:21:01 +0000",
            "from mail.nvidia.com (216.228.112.34) by\n BN8NAM11FT060.mail.protection.outlook.com (10.13.177.211) with Microsoft SMTP\n Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id\n 15.20.4087.27 via Frontend Transport; Wed, 5 May 2021 04:21:01 +0000",
            "from nvidia.com (172.20.145.6) by HQMAIL107.nvidia.com\n (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Wed, 5 May\n 2021 04:20:59 +0000"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=OORH3kqbXds9LNhayLOfWOW0UhCJCI5lcXpGoN4mHSPcz0KB2+Sz12RffAz9DwYeL6/rrzla2PZMECCZaLa+GxQFxftulM7ONxHtW8sx9ykmUCXZgTLKRuP8ay26hKxlD3Yj+iaPQIda9byzIWQZn6tPTjn16KTTXPfalY1Ywmv4tKOKm2fpup1nrX481fUyjcW1TbXYU3hME1CPQAJzW8mtO3bHmj6UUWvTtFBGXPfYuMlsEPxEC/AQEZwHLo3nS7m5hohwtPj2D/OLFscL3XhwgJzHA00w8Pv3rDQVKscvL6e9rZmb4naICZLD1u3MRSmn6EqTTXxn+HpWUaZ0Sg==",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector9901;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=OB9QjXJGXbhLb1/0luHWhUnb+chfwEk8CvgDQRtS55Y=;\n b=QjHnEGulNbcuqAwi5RIS6pkt8XTLJf8gxvbm5Bccs1hQD64A12ABy9a/vLQBqY8PyDPSgWZLr6I50xMm4YEdKSm95g94PBFc5Due1x84GwzLFiEZ21KfYgbELi9mVghWErlwDQ+iH+7FYZzBHxOiOLrHNuZRtdqDvv0rgiMUfpD7lPwkjZNcsGhenzUxwZ47Mw8kGHpl6ZIQLwSd/BlHZBSa/ehRDErxgwvOP93PnNTugrr8qWpzgzRjl/o3UbwnTeBztqCEc9ABWMFCFm5r++FKNn926ICR3B2S1OGZtAtO5jR2klzJ0FcKQUSUJCGF4pC0nheOGJORwLsxTUii2g==",
        "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=pass (sender ip is\n 216.228.112.34) smtp.rcpttodomain=dpdk.org smtp.mailfrom=nvidia.com;\n dmarc=pass (p=none sp=none pct=100) action=none header.from=nvidia.com;\n dkim=none (message not signed); arc=none",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com;\n s=selector2;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=OB9QjXJGXbhLb1/0luHWhUnb+chfwEk8CvgDQRtS55Y=;\n b=mCcY5l2m7Bvm4reBtxZbAG1uacM2R+ArnrjRmVwjX3hhQ6lkVbBfhUhlgVJR8IJtgLRoAUqHnu/3Dw5oB5OnG0zvMtWZSQu9WQZZapP5ZO4GDTNkYRLk6lpA+zSxYIAffrRHZSZlZvYk67nMbo7kkBmIvn4JdezTdhIfKAKVJSpjZm05Nm9Oif5TVlbzN14MuxEkhZ3DFbhwLPJYoMOLTMwb3BfTknEKgrJlgBVckggss05jHDtSaDn1DpTv1np0pe4NwG5um/z4BkrlJu29EOQoUYcVXrgeVIYweF2L7BZfAdNcOtiRguv9hW0zSAdmDEliyUCcZy7hf0QqiohqsA==",
        "X-MS-Exchange-Authentication-Results": "spf=pass (sender IP is 216.228.112.34)\n smtp.mailfrom=nvidia.com; dpdk.org; dkim=none (message not signed)\n header.d=none;dpdk.org; dmarc=pass action=none header.from=nvidia.com;",
        "Received-SPF": "Pass (protection.outlook.com: domain of nvidia.com designates\n 216.228.112.34 as permitted sender) receiver=protection.outlook.com;\n client-ip=216.228.112.34; helo=mail.nvidia.com;",
        "From": "Bing Zhao <bingz@nvidia.com>",
        "To": "<viacheslavo@nvidia.com>, <matan@nvidia.com>, <thomas@monjalon.net>",
        "CC": "<dev@dpdk.org>, <orika@nvidia.com>, <rasland@nvidia.com>",
        "Date": "Wed, 5 May 2021 07:19:55 +0300",
        "Message-ID": "<20210505042004.25280-9-bingz@nvidia.com>",
        "X-Mailer": "git-send-email 2.27.0",
        "In-Reply-To": "<20210505042004.25280-1-bingz@nvidia.com>",
        "References": "<20210427153811.11554-1-bingz@nvidia.com>\n <20210505042004.25280-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\n HQMAIL107.nvidia.com (172.20.187.13)",
        "X-EOPAttributedMessage": "0",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-Office365-Filtering-Correlation-Id": "92f9e224-7254-4da6-7199-08d90f7d30cc",
        "X-MS-TrafficTypeDiagnostic": "BN6PR1201MB0212:",
        "X-LD-Processed": "43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr",
        "X-Microsoft-Antispam-PRVS": "\n <BN6PR1201MB0212D8ED1F10A72D9CE1A332D0599@BN6PR1201MB0212.namprd12.prod.outlook.com>",
        "X-MS-Oob-TLC-OOBClassifiers": "OLM:1169;",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-Microsoft-Antispam": "BCL:0;",
        "X-Microsoft-Antispam-Message-Info": "\n ezuHvIX+e0/pJ83Wn0XTyPni0qzwmDXKPteNeSiob1YDsGCKhVNbpOCVZtB9KjlnXhBVLseB0QB+ZptJyL/K6flxJWqlUYx02KxzR8IM3S2WOwNS3nnb1fKSoGh6emNwjM18/LxxmTwyqk4G3/as8lGbkF4MVDtj1+lb2UEryM29sKuZGl9NSWQTPcWbRAu5w5ZvSgWQ+mJ4URclrhCdf1O/W8yDVXeGTfWP9YK9ZDrXdV5mjLt6WVc9woQaThcDOm3r1TF3eY765t95lfb+E41sMeKOm3WuUUxShGjv7IAQauBJkrbv7/ai8x8FfylBkEFEwLcMvcmkUDNXsutMVce48P37PoSYKxURrc+OR0lV4htVae/BgYtbrkX+7PeOOQrJiPEfKNS+mWdFPEukvS5+1ciaxHCl+6AhDwo0q7if5lr4Qka97ypVNNcAqyMLH3f5IunwcPovGRiRX8VEWyjnBlvii1oK+jc2IaS5WkG6J2ow3ggF5Z1mM9GSlRHWTSZhBkrNje+pqKaCArqV1EXfmFM+ttbSkYOJIdhyjgDotmyzS9JXu9CeVSblxa85JxNeoCfU72LWtbqpD4iAGVXlmeWFm70uSnFPbK5uRxLPwcNglgh8nD7o+/Y6Kpz5B+80eWlHTwpaSIG/puy5OWsWikWu8JGYl8THE2GKVUE=",
        "X-Forefront-Antispam-Report": "CIP:216.228.112.34; CTRY:US; LANG:en; SCL:1;\n SRV:;\n IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:schybrid03.nvidia.com; CAT:NONE;\n SFS:(4636009)(346002)(39860400002)(396003)(136003)(376002)(36840700001)(46966006)(70206006)(8676002)(70586007)(55016002)(5660300002)(2906002)(6666004)(26005)(36906005)(336012)(478600001)(1076003)(36756003)(4326008)(107886003)(186003)(82740400003)(86362001)(110136005)(316002)(54906003)(7636003)(6286002)(36860700001)(356005)(7696005)(16526019)(82310400003)(83380400001)(47076005)(2616005)(426003)(8936002);\n DIR:OUT; SFP:1101;",
        "X-OriginatorOrg": "Nvidia.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "05 May 2021 04:21:01.1020 (UTC)",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 92f9e224-7254-4da6-7199-08d90f7d30cc",
        "X-MS-Exchange-CrossTenant-Id": "43083d15-7273-40c1-b7db-39efd9ccc17a",
        "X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp": "\n TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.112.34];\n Helo=[mail.nvidia.com]",
        "X-MS-Exchange-CrossTenant-AuthSource": "\n BN8NAM11FT060.eop-nam11.prod.protection.outlook.com",
        "X-MS-Exchange-CrossTenant-AuthAs": "Anonymous",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "BN6PR1201MB0212",
        "Subject": "[dpdk-dev] [PATCH v2 08/17] net/mlx5: close CT management structure",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "When freeing the IB shared context during stopping a device, the\nASO connection tracking management structure should also be cleaned\nup.\n\nAll the DR actions created should be destroyed. The structures need\nto be freed and ASO CT QP should be released. In the meanwhile, the\nallocated and registered memory region for query should also be\nderegistered and then freed.\n\nSigned-off-by: Bing Zhao <bingz@nvidia.com>\n---\n drivers/net/mlx5/mlx5.c          | 56 ++++++++++++++++++++++++++++++++\n drivers/net/mlx5/mlx5_flow_aso.c |  4 +++\n 2 files changed, 60 insertions(+)",
    "diff": "diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5/mlx5.c\nindex 86dbe6d573..d563da109a 100644\n--- a/drivers/net/mlx5/mlx5.c\n+++ b/drivers/net/mlx5/mlx5.c\n@@ -706,6 +706,60 @@ mlx5_flow_aso_ct_mng_init(struct mlx5_dev_ctx_shared *sh)\n \treturn 0;\n }\n \n+/*\n+ * Close and release all the resources of the\n+ * ASO connection tracking management structure.\n+ *\n+ * @param[in] sh\n+ *   Pointer to mlx5_dev_ctx_shared object to free.\n+ */\n+static void\n+mlx5_flow_aso_ct_mng_close(struct mlx5_dev_ctx_shared *sh)\n+{\n+\tstruct mlx5_aso_ct_pools_mng *mng = sh->ct_mng;\n+\tstruct mlx5_aso_ct_pool *ct_pool;\n+\tstruct mlx5_aso_ct_action *ct;\n+\tuint32_t idx;\n+\tuint32_t val;\n+\tuint32_t cnt;\n+\tint i;\n+\n+\tmlx5_aso_queue_uninit(sh, ASO_OPC_MOD_CONNECTION_TRACKING);\n+\tidx = mng->next;\n+\twhile (idx--) {\n+\t\tcnt = 0;\n+\t\tct_pool = mng->pools[idx];\n+\t\tfor (i = 0; i < MLX5_ASO_CT_ACTIONS_PER_POOL; i++) {\n+\t\t\tct = &ct_pool->actions[i];\n+\t\t\tval = __atomic_fetch_sub(&ct->refcnt, 1,\n+\t\t\t\t\t\t __ATOMIC_RELAXED);\n+\t\t\tMLX5_ASSERT(val == 1);\n+\t\t\tif (val > 1)\n+\t\t\t\tcnt++;\n+#ifdef HAVE_MLX5_DR_ACTION_ASO_CT\n+\t\t\tif (ct->dr_action_orig)\n+\t\t\t\tclaim_zero(mlx5_glue->destroy_flow_action\n+\t\t\t\t\t\t\t(ct->dr_action_orig));\n+\t\t\tif (ct->dr_action_rply)\n+\t\t\t\tclaim_zero(mlx5_glue->destroy_flow_action\n+\t\t\t\t\t\t\t(ct->dr_action_rply));\n+#endif\n+\t\t}\n+\t\tclaim_zero(mlx5_devx_cmd_destroy(ct_pool->devx_obj));\n+\t\tif (cnt) {\n+\t\t\tDRV_LOG(DEBUG, \"%u ASO CT objects are being used in the pool %u\",\n+\t\t\t\tcnt, i);\n+\t\t}\n+\t\tmlx5_free(ct_pool);\n+\t\t/* in case of failure. */\n+\t\tmng->next--;\n+\t}\n+\tmlx5_free(mng->pools);\n+\tmlx5_free(mng);\n+\t/* Management structure must be cleared to 0s during allocation. */\n+\tsh->ct_mng = NULL;\n+}\n+\n /**\n  * Initialize the flow resources' indexed mempool.\n  *\n@@ -1508,6 +1562,8 @@ mlx5_dev_close(struct rte_eth_dev *dev)\n \tif (priv->mreg_cp_tbl)\n \t\tmlx5_hlist_destroy(priv->mreg_cp_tbl);\n \tmlx5_mprq_free_mp(dev);\n+\tif (priv->sh->ct_mng)\n+\t\tmlx5_flow_aso_ct_mng_close(priv->sh);\n \tmlx5_os_free_shared_dr(priv);\n \tif (priv->rss_conf.rss_key != NULL)\n \t\tmlx5_free(priv->rss_conf.rss_key);\ndiff --git a/drivers/net/mlx5/mlx5_flow_aso.c b/drivers/net/mlx5/mlx5_flow_aso.c\nindex 28b0c05814..c93764f684 100644\n--- a/drivers/net/mlx5/mlx5_flow_aso.c\n+++ b/drivers/net/mlx5/mlx5_flow_aso.c\n@@ -372,6 +372,10 @@ mlx5_aso_queue_uninit(struct mlx5_dev_ctx_shared *sh,\n \tcase ASO_OPC_MOD_POLICER:\n \t\tsq = &sh->mtrmng->pools_mng.sq;\n \t\tbreak;\n+\tcase ASO_OPC_MOD_CONNECTION_TRACKING:\n+\t\tmlx5_aso_dereg_mr(sh, &sh->ct_mng->aso_sq.mr);\n+\t\tsq = &sh->ct_mng->aso_sq;\n+\t\tbreak;\n \tdefault:\n \t\tDRV_LOG(ERR, \"Unknown ASO operation mode\");\n \t\treturn;\n",
    "prefixes": [
        "v2",
        "08/17"
    ]
}