get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 139889,
    "url": "http://patchwork.dpdk.org/api/patches/139889/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/patch/20240506114419.966498-12-igozlan@nvidia.com/",
    "project": {
        "id": 1,
        "url": "http://patchwork.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": "<20240506114419.966498-12-igozlan@nvidia.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20240506114419.966498-12-igozlan@nvidia.com",
    "date": "2024-05-06T11:44:15",
    "name": "[v2,12/16] net/mlx5/hws: dw order optimization code enhancement",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "40fa9cab54dc3b8cef16af184ef3871a1f483217",
    "submitter": {
        "id": 3118,
        "url": "http://patchwork.dpdk.org/api/people/3118/?format=api",
        "name": "Itamar Gozlan",
        "email": "igozlan@nvidia.com"
    },
    "delegate": {
        "id": 3268,
        "url": "http://patchwork.dpdk.org/api/users/3268/?format=api",
        "username": "rasland",
        "first_name": "Raslan",
        "last_name": "Darawsheh",
        "email": "rasland@nvidia.com"
    },
    "mbox": "http://patchwork.dpdk.org/project/dpdk/patch/20240506114419.966498-12-igozlan@nvidia.com/mbox/",
    "series": [
        {
            "id": 31885,
            "url": "http://patchwork.dpdk.org/api/series/31885/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=31885",
            "date": "2024-05-06T11:44:04",
            "name": "[v2,01/16] net/mlx5/hws: move warn into debug level when needed",
            "version": 2,
            "mbox": "http://patchwork.dpdk.org/series/31885/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/patches/139889/comments/",
    "check": "success",
    "checks": "http://patchwork.dpdk.org/api/patches/139889/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 075FA43FB4;\n\tMon,  6 May 2024 13:45:55 +0200 (CEST)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id D435640A7F;\n\tMon,  6 May 2024 13:45:18 +0200 (CEST)",
            "from NAM12-MW2-obe.outbound.protection.outlook.com\n (mail-mw2nam12on2064.outbound.protection.outlook.com [40.107.244.64])\n by mails.dpdk.org (Postfix) with ESMTP id BDC98402EC;\n Mon,  6 May 2024 13:45:17 +0200 (CEST)",
            "from DM6PR10CA0020.namprd10.prod.outlook.com (2603:10b6:5:60::33) by\n IA1PR12MB6387.namprd12.prod.outlook.com (2603:10b6:208:389::7) with\n Microsoft\n SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.20.7544.41; Mon, 6 May 2024 11:45:15 +0000",
            "from CY4PEPF0000E9D8.namprd05.prod.outlook.com\n (2603:10b6:5:60:cafe::62) by DM6PR10CA0020.outlook.office365.com\n (2603:10b6:5:60::33) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7544.42 via Frontend\n Transport; Mon, 6 May 2024 11:45:14 +0000",
            "from mail.nvidia.com (216.228.118.233) by\n CY4PEPF0000E9D8.mail.protection.outlook.com (10.167.241.71) with Microsoft\n SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.20.7544.18 via Frontend Transport; Mon, 6 May 2024 11:45:14 +0000",
            "from drhqmail202.nvidia.com (10.126.190.181) by mail.nvidia.com\n (10.127.129.6) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Mon, 6 May 2024\n 04:45:08 -0700",
            "from drhqmail203.nvidia.com (10.126.190.182) by\n drhqmail202.nvidia.com (10.126.190.181) with Microsoft SMTP Server\n (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.2.1544.4; Mon, 6 May 2024 04:45:08 -0700",
            "from nvidia.com (10.127.8.12) by mail.nvidia.com (10.126.190.182)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4 via Frontend\n Transport; Mon, 6 May 2024 04:45:05 -0700"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=TzQdjAoNIDL4Mops+ZEiAg9NWFUQ0cd7G27zngPWdzni3JGDP7v/kCDCYFPGmabCB4Ev+57nnEdYECsUCnCGfvYR/JlEuvJwEwOb/8uNhHK5T2ByQ8jaI5fMmOp6ti4VViPbnbImOv6EMHaqDjBW+AKfWSLt0bW3WgChhRdrCaOxoI5n62ewJmRW+xgPSRRiBAczZ0R4ibxLstI0sFiFZ8RQkJpKYMzUjomeboxWbxnCRGa+7DTkGxX4GrdrtffMaIRFeaX0dnBIT+WcNoctq7tKkhNRbM6f4vHTYJIvWcjwWwhgyyjpBVJoeGuKs88ylNxDL49j4CzZNr2CgM93xg==",
        "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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;\n bh=7fk/La/HxcMhijKuj7KEujyXYRGFGfcZLbcYAYcUPrI=;\n b=AvgWcUgMQtJ/BMhY/q+tO3owhfII/VkSOPCXWP/IiM3vAjfFhRDQb06JC/djMk9uvUYN2lwNNYLGzcEtKolWX6VUUgIYqvSGw70MeoXE+IISdmrJPGShmh3DJ7gvfMw/+7rNom6/blXn8tm/GlJoiGowxmfFkOEbKo8w/TXAdF5fQmmYvsyDdeUsqwJEC0EQEwr5mEUAB004iodz8Km+fJkdtvbFy2Gv+a/qIM2MUnC8SRHBdR2YiYAz+a7t46qcGSthhUszZiEcrU3WGDC0pivQ8MvLh/dVta+7VQyVo+7nn+1VAcN3daDbFYSMtIxmA0b8mBtVgHValXkuw+wgyg==",
        "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=pass (sender ip is\n 216.228.118.233) smtp.rcpttodomain=monjalon.net smtp.mailfrom=nvidia.com;\n dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com;\n dkim=none (message not signed); arc=none (0)",
        "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=7fk/La/HxcMhijKuj7KEujyXYRGFGfcZLbcYAYcUPrI=;\n b=f08rEM4357CdxSryqjBvfNXgVmuXa7c4+xDZIhvYul4MHUu/y9BmWM7f86BC1tONAkSb0Vk3U7o/zbO71zjL+8o2u212SbCsXkNAGSKL3P6WnawyiObSKCfUsForlT4tAxQddl6RCuBfd0cAd8eHeFP6viWRQl7M/KRh7vE5Oob+Aig06EKnJsMm+3vNVyyh1UYWajD3W6bLcYTpK/Q8gGflrXI3BUu5T2ps/bIO8HfP/BzSIBW6w+EJ8gnTiI4EY6aGdQo/sbNffQb2o0vqnHzOCaVwRtRB1bew1qy1iTpdSbqFgKs+NKxdnBVQYz2CSs+r4MXdHBFmiHaRaWJH7Q==",
        "X-MS-Exchange-Authentication-Results": "spf=pass (sender IP is 216.228.118.233)\n smtp.mailfrom=nvidia.com;\n dkim=none (message not signed)\n header.d=none;dmarc=pass action=none header.from=nvidia.com;",
        "Received-SPF": "Pass (protection.outlook.com: domain of nvidia.com designates\n 216.228.118.233 as permitted sender) receiver=protection.outlook.com;\n client-ip=216.228.118.233; helo=mail.nvidia.com; pr=C",
        "From": "Itamar Gozlan <igozlan@nvidia.com>",
        "To": "<igozlan@nvidia.com>, <erezsh@nvidia.com>, <hamdani@nvidia.com>,\n <kliteyn@nvidia.com>, <viacheslavo@nvidia.com>, <thomas@monjalon.net>,\n <suanmingm@nvidia.com>, Dariusz Sosnowski <dsosnowski@nvidia.com>, Ori Kam\n <orika@nvidia.com>, Matan Azrad <matan@nvidia.com>",
        "CC": "<dev@dpdk.org>, <stable@dpdk.org>",
        "Subject": "[v2 12/16] net/mlx5/hws: dw order optimization code enhancement",
        "Date": "Mon, 6 May 2024 14:44:15 +0300",
        "Message-ID": "<20240506114419.966498-12-igozlan@nvidia.com>",
        "X-Mailer": "git-send-email 2.39.3",
        "In-Reply-To": "<20240506114419.966498-1-igozlan@nvidia.com>",
        "References": "<20240314114220.203241-1-igozlan@nvidia.com>\n <20240506114419.966498-1-igozlan@nvidia.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Content-Type": "text/plain",
        "X-NV-OnPremToCloud": "ExternallySecured",
        "X-EOPAttributedMessage": "0",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-TrafficTypeDiagnostic": "CY4PEPF0000E9D8:EE_|IA1PR12MB6387:EE_",
        "X-MS-Office365-Filtering-Correlation-Id": "71a644f3-4a30-4b87-76e9-08dc6dc1fe91",
        "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;\n ARA:13230031|82310400017|1800799015|376005|36860700004|921011;",
        "X-Microsoft-Antispam-Message-Info": "\n utMYYxVG4xLvvfqKlKgzoCA27jE8HKmzFL0x6DoPZFvwG87g8ONPsEm4gGgB7KKDv5xPL6CHwbivY6fq1tsgWMzx+oE44QPWaJQwNn5B6jiAbseZRVU+XAcGhBDkOnGKcEtV91iolYD/I1jU61CkUGyRlOi1zKxCNXEA3ViSZGcmcrNzkE3hTP/zh2ern1ExgWVOB+mWLw+W40ZvqbQ/y0XOAm3mzkG1hizXeNPWW0s54FLNGRMpvGVXrz5rZkJsctj7a4B4w/XlMtm3pzxCwSZ12iKE18fE9+NbjGfaamMDlxD9GjEWrxSR7L2H57inqkBBDs31p2aiZq4GVKncTouFK65GWH1SIyQVgtev40z3ueeLREN64Ufg/Djk1ByWuDiX3CxvgZHiNtpM3I13xtL2f+eH95iwS0vRnDHx8iFjjd4Br8zK4bvYNZgs19iUvBwX6Zq1X+3VF3WgLAau8iGyiZ1EzmnQe3q4SleovNte+nkFieAQucEDtvyOFeerYcHnXMefwOnI1bzJ4tSMfEY48n5/Zjp8NfPy85UOSWc6gW0FQ8ozAHAV/d7Z9oYCmZv3KnjFnUdeNdUpmA31lkhvFyipNSXykaWmaTt4hbJxEsGm0pFZuBWx4QuyZTm9brZAVFSO/elAi2Yw6fMywTOIzaPzyFlvCRTkND9JXOQ/IFVTcic1rtf7TeLs/EdhhJGeUQFgmDxkNrslEI4oZO7o31WnFqg8AOOR5neQCpGKkZRM8k2a+ZInRarCckBun3r0cQoRSoKyDMKhIYYsP5t2hYZi0s+wzbp1kMvISYH6VX2n3pCYnLw4vYZtMlN5uHtQ7WLlk3ujUAyYCX6XhHI75dow29wLBMKicfb8W7idbLw/SPMGvH5xhGxAv5uG9LHi+Ff9Fqby7tn6pxoHZ+zp5vpR0DpECopy7un0tVgR9f0MXJKrpM/mgjYq1Cuj2RsHJbjWoCh3cLUxrD6tN03IJxwfkWSSYlpOlELo/gqKT2mD9Nfg5JvA6/mlLbAIzmlc61Eatk7lSFc/DNjYQWq87HR8eZ2m8jl7vnMcE0Df+ZFEd5L/1H7YPcAgCuEeDfq0COYiD9ZT1BUJfNDl8Ibg5wJK7G1Ww50ppYnKaes5gSF6d4ajsQZOtAYSh5kucCbjMGA91OgfJHGMrDM23q0eUjAWpLPLqEYTIntvkjd+O+eewkYq+umT076dl5X+nFQkIn3u7fNI/UiI7Agv/Upm4ckXAqoquuY3Tp9sdu0CZcqpdZtEK8Y0bdNSzsNKo118XUlKvd0e2zSgHeHnU1VtFubsLjVI2SgBTNVQdBGqdPLO5VdqyrwY9PASX2p4jgg7eVF59W0+gzI2rHShb2ZbGsJAqN0WeUNtDgcDgy98D6W+cnyQwDftRZ2/gbjF",
        "X-Forefront-Antispam-Report": "CIP:216.228.118.233; CTRY:US; LANG:en; SCL:1;\n SRV:;\n IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:dc7edge2.nvidia.com; CAT:NONE;\n SFS:(13230031)(82310400017)(1800799015)(376005)(36860700004)(921011);\n DIR:OUT;\n SFP:1101;",
        "X-OriginatorOrg": "Nvidia.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "06 May 2024 11:45:14.5735 (UTC)",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 71a644f3-4a30-4b87-76e9-08dc6dc1fe91",
        "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.118.233];\n Helo=[mail.nvidia.com]",
        "X-MS-Exchange-CrossTenant-AuthSource": "\n CY4PEPF0000E9D8.namprd05.prod.outlook.com",
        "X-MS-Exchange-CrossTenant-AuthAs": "Anonymous",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "IA1PR12MB6387",
        "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"
    },
    "content": "Improving code readability by following code styles such as mlx5dr prefix\nand extracting a support check to an external function call.\nAlso, reducing unneeded static memory allocation using a bounded size\nmacro.\n\nFixes: 88ff41793e7a (\"net/mlx5/hws: reorder STE fields to improve hash\")\nCc: stable@dpdk.org\n\nSigned-off-by: Itamar Gozlan <igozlan@nvidia.com>\nAcked-by: Matan Azrad <matan@nvidia.com>\n---\n drivers/net/mlx5/hws/mlx5dr_definer.c | 39 ++++++++++++++-------------\n 1 file changed, 20 insertions(+), 19 deletions(-)",
    "diff": "diff --git a/drivers/net/mlx5/hws/mlx5dr_definer.c b/drivers/net/mlx5/hws/mlx5dr_definer.c\nindex 81d0e0e6df..cffbb7b589 100644\n--- a/drivers/net/mlx5/hws/mlx5dr_definer.c\n+++ b/drivers/net/mlx5/hws/mlx5dr_definer.c\n@@ -31,6 +31,8 @@\n \n #define MLX5DR_DEFINER_QUOTA_BLOCK 0\n #define MLX5DR_DEFINER_QUOTA_PASS  2\n+#define MLX5DR_DEFINER_MAX_ROW_LOG 32\n+#define MLX5DR_DEFINER_HL_OPT_MAX 2\n \n /* Setter function based on bit offset and mask, for 32bit DW*/\n #define _DR_SET_32(p, v, byte_off, bit_off, mask) \\\n@@ -104,21 +106,13 @@\n \t__mlx5_dw_off(typ, fld))) >> __mlx5_dw_bit_off(typ, fld)) & \\\n \t__mlx5_mask(typ, fld))\n \n-#define MAX_ROW_LOG 31\n-\n-enum header_layout {\n-\tMLX5DR_HL_IPV4_SRC = 64,\n-\tMLX5DR_HL_IPV4_DST = 65,\n-\tMAX_HL_PRIO,\n-};\n-\n /* Each row (i) indicates a different matcher size, and each column (j)\n  * represents {DW5, DW4, DW3, DW2, DW1, DW0}.\n- * For values 0,..,2^i, and j (DW) 0,..,5: optimal_dist_dw[i][j] is 1 if the\n+ * For values 0,..,2^i, and j (DW) 0,..,5: mlx5dr_optimal_dist_dw[i][j] is 1 if the\n  * number of different hash results on these values equals 2^i, meaning this\n  * DW hash distribution is complete.\n  */\n-int optimal_dist_dw[MAX_ROW_LOG][DW_SELECTORS_MATCH] = {\n+int mlx5dr_optimal_dist_dw[MLX5DR_DEFINER_MAX_ROW_LOG][DW_SELECTORS_MATCH] = {\n \t{1, 1, 1, 1, 1, 1}, {0, 1, 1, 0, 1, 0}, {0, 1, 1, 0, 1, 0},\n \t{1, 0, 1, 0, 1, 0}, {0, 0, 0, 1, 1, 0}, {0, 1, 1, 0, 1, 0},\n \t{0, 0, 0, 0, 1, 0}, {0, 1, 1, 0, 1, 0}, {0, 0, 0, 0, 0, 0},\n@@ -3471,16 +3465,16 @@ mlx5dr_definer_find_best_range_fit(struct mlx5dr_definer *definer,\n \n static void mlx5dr_definer_optimize_order(struct mlx5dr_definer *definer, int num_log)\n {\n-\tuint8_t hl_prio[MAX_HL_PRIO - 1] = {MLX5DR_HL_IPV4_SRC,\n-\t\t\t\t\t    MLX5DR_HL_IPV4_DST,\n-\t\t\t\t\t    MAX_HL_PRIO};\n+\tuint8_t hl_prio[MLX5DR_DEFINER_HL_OPT_MAX];\n \tint dw = 0, i = 0, j;\n \tint *dw_flag;\n \tuint8_t tmp;\n \n-\tdw_flag = optimal_dist_dw[num_log];\n+\tdw_flag = mlx5dr_optimal_dist_dw[num_log];\n+\thl_prio[0] = __mlx5_dw_off(definer_hl, ipv4_src_dest_outer.source_address);\n+\thl_prio[1] = __mlx5_dw_off(definer_hl, ipv4_src_dest_outer.destination_address);\n \n-\twhile (hl_prio[i] != MAX_HL_PRIO) {\n+\twhile (i < MLX5DR_DEFINER_HL_OPT_MAX) {\n \t\tj = 0;\n \t\t/* Finding a candidate to improve its hash distribution */\n \t\twhile (j < DW_SELECTORS_MATCH && (hl_prio[i] != definer->dw_selector[j]))\n@@ -3632,6 +3626,16 @@ int mlx5dr_definer_compare(struct mlx5dr_definer *definer_a,\n \treturn 0;\n }\n \n+static int\n+mlx5dr_definer_optimize_order_supported(struct mlx5dr_definer *match_definer,\n+\t\t\t\t\tstruct mlx5dr_matcher *matcher)\n+{\n+\treturn !mlx5dr_definer_is_jumbo(match_definer) &&\n+\t       !mlx5dr_matcher_req_fw_wqe(matcher) &&\n+\t       !mlx5dr_matcher_is_resizable(matcher) &&\n+\t       !mlx5dr_matcher_is_insert_by_idx(matcher);\n+}\n+\n static int\n mlx5dr_definer_calc_layout(struct mlx5dr_matcher *matcher,\n \t\t\t   struct mlx5dr_definer *match_definer,\n@@ -3693,10 +3697,7 @@ mlx5dr_definer_calc_layout(struct mlx5dr_matcher *matcher,\n \t\tgoto free_fc;\n \t}\n \n-\tif (!mlx5dr_definer_is_jumbo(match_definer) &&\n-\t    !mlx5dr_matcher_req_fw_wqe(matcher) &&\n-\t    !mlx5dr_matcher_is_resizable(matcher) &&\n-\t    !mlx5dr_matcher_is_insert_by_idx(matcher))\n+\tif (mlx5dr_definer_optimize_order_supported(match_definer, matcher))\n \t\tmlx5dr_definer_optimize_order(match_definer, matcher->attr.rule.num_log);\n \n \t/* Find the range definer layout for match templates fcrs */\n",
    "prefixes": [
        "v2",
        "12/16"
    ]
}