get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 82317,
    "url": "https://patches.dpdk.org/api/patches/82317/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/1603801650-442376-32-git-send-email-suanmingm@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": "<1603801650-442376-32-git-send-email-suanmingm@nvidia.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1603801650-442376-32-git-send-email-suanmingm@nvidia.com",
    "date": "2020-10-27T12:27:26",
    "name": "[v3,31/34] net/mlx5: remove unused hash list operations",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "2db5b9b0ff5b374a30c69bd282675803f289cf2e",
    "submitter": {
        "id": 1887,
        "url": "https://patches.dpdk.org/api/people/1887/?format=api",
        "name": "Suanming Mou",
        "email": "suanmingm@nvidia.com"
    },
    "delegate": {
        "id": 3268,
        "url": "https://patches.dpdk.org/api/users/3268/?format=api",
        "username": "rasland",
        "first_name": "Raslan",
        "last_name": "Darawsheh",
        "email": "rasland@nvidia.com"
    },
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/1603801650-442376-32-git-send-email-suanmingm@nvidia.com/mbox/",
    "series": [
        {
            "id": 13372,
            "url": "https://patches.dpdk.org/api/series/13372/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=13372",
            "date": "2020-10-27T12:26:55",
            "name": "net/mlx5: support multiple-thread flow operations",
            "version": 3,
            "mbox": "https://patches.dpdk.org/series/13372/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/82317/comments/",
    "check": "success",
    "checks": "https://patches.dpdk.org/api/patches/82317/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 dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 49587A04B5;\n\tTue, 27 Oct 2020 13:39:17 +0100 (CET)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id E0839BE55;\n\tTue, 27 Oct 2020 13:29:33 +0100 (CET)",
            "from mellanox.co.il (mail-il-dmz.mellanox.com [193.47.165.129])\n by dpdk.org (Postfix) with ESMTP id CD4742BE2\n for <dev@dpdk.org>; Tue, 27 Oct 2020 13:28:36 +0100 (CET)",
            "from Internal Mail-Server by MTLPINE1 (envelope-from\n suanmingm@nvidia.com) with SMTP; 27 Oct 2020 14:28:33 +0200",
            "from nvidia.com (mtbc-r640-04.mtbc.labs.mlnx [10.75.70.9])\n by labmailer.mlnx (8.13.8/8.13.8) with ESMTP id 09RCRZ7T024637;\n Tue, 27 Oct 2020 14:28:32 +0200"
        ],
        "From": "Suanming Mou <suanmingm@nvidia.com>",
        "To": "Matan Azrad <matan@nvidia.com>, Shahaf Shuler <shahafs@nvidia.com>,\n Viacheslav Ovsiienko <viacheslavo@nvidia.com>",
        "Cc": "dev@dpdk.org",
        "Date": "Tue, 27 Oct 2020 20:27:26 +0800",
        "Message-Id": "<1603801650-442376-32-git-send-email-suanmingm@nvidia.com>",
        "X-Mailer": "git-send-email 1.8.3.1",
        "In-Reply-To": "<1603801650-442376-1-git-send-email-suanmingm@nvidia.com>",
        "References": "<1601984948-313027-1-git-send-email-suanmingm@nvidia.com>\n <1603801650-442376-1-git-send-email-suanmingm@nvidia.com>",
        "Subject": "[dpdk-dev] [PATCH v3 31/34] net/mlx5: remove unused hash list\n\toperations",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "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": "In previous commits the hash list objects have been converted\nto new thread safe hash list. The legacy hash list code can be\nremoved now.\n\nSigned-off-by: Suanming Mou <suanmingm@nvidia.com>\nAcked-by: Matan Azrad <matan@nvidia.com>\n---\n drivers/net/mlx5/mlx5_utils.c | 38 -------------------------\n drivers/net/mlx5/mlx5_utils.h | 66 -------------------------------------------\n 2 files changed, 104 deletions(-)",
    "diff": "diff --git a/drivers/net/mlx5/mlx5_utils.c b/drivers/net/mlx5/mlx5_utils.c\nindex df15f63..13590dd 100644\n--- a/drivers/net/mlx5/mlx5_utils.c\n+++ b/drivers/net/mlx5/mlx5_utils.c\n@@ -170,44 +170,6 @@ struct mlx5_hlist_entry*\n \treturn entry;\n }\n \n-struct mlx5_hlist_entry *\n-mlx5_hlist_lookup_ex(struct mlx5_hlist *h, uint64_t key,\n-\t\t     mlx5_hlist_match_callback_fn cb, void *ctx)\n-{\n-\tuint32_t idx;\n-\tstruct mlx5_hlist_head *first;\n-\tstruct mlx5_hlist_entry *node;\n-\n-\tMLX5_ASSERT(h && cb && ctx);\n-\tidx = rte_hash_crc_8byte(key, 0) & h->mask;\n-\tfirst = &h->heads[idx];\n-\tLIST_FOREACH(node, first, next) {\n-\t\tif (!cb(node, ctx))\n-\t\t\treturn node;\n-\t}\n-\treturn NULL;\n-}\n-\n-int\n-mlx5_hlist_insert_ex(struct mlx5_hlist *h, struct mlx5_hlist_entry *entry,\n-\t\t     mlx5_hlist_match_callback_fn cb, void *ctx)\n-{\n-\tuint32_t idx;\n-\tstruct mlx5_hlist_head *first;\n-\tstruct mlx5_hlist_entry *node;\n-\n-\tMLX5_ASSERT(h && entry && cb && ctx);\n-\tidx = rte_hash_crc_8byte(entry->key, 0) & h->mask;\n-\tfirst = &h->heads[idx];\n-\t/* No need to reuse the lookup function. */\n-\tLIST_FOREACH(node, first, next) {\n-\t\tif (!cb(node, ctx))\n-\t\t\treturn -EEXIST;\n-\t}\n-\tLIST_INSERT_HEAD(first, entry, next);\n-\treturn 0;\n-}\n-\n int\n mlx5_hlist_unregister(struct mlx5_hlist *h, struct mlx5_hlist_entry *entry)\n {\ndiff --git a/drivers/net/mlx5/mlx5_utils.h b/drivers/net/mlx5/mlx5_utils.h\nindex b00789c..be6e5f6 100644\n--- a/drivers/net/mlx5/mlx5_utils.h\n+++ b/drivers/net/mlx5/mlx5_utils.h\n@@ -21,12 +21,6 @@\n \n #include \"mlx5_defs.h\"\n \n-#define mlx5_hlist_remove(h, e) \\\n-\tmlx5_hlist_unregister(h, e)\n-\n-#define mlx5_hlist_insert(h, e) \\\n-\tmlx5_hlist_register(h, 0, e)\n-\n /* Convert a bit number to the corresponding 64-bit mask */\n #define MLX5_BITSHIFT(v) (UINT64_C(1) << (v))\n \n@@ -287,23 +281,6 @@ struct mlx5_hlist_entry {\n /** Structure for hash head. */\n LIST_HEAD(mlx5_hlist_head, mlx5_hlist_entry);\n \n-/** Type of function that is used to handle the data before freeing. */\n-typedef void (*mlx5_hlist_destroy_callback_fn)(void *p, void *ctx);\n-\n-/**\n- * Type of function for user defined matching.\n- *\n- * @param entry\n- *   The entry in the list.\n- * @param ctx\n- *   The pointer to new entry context.\n- *\n- * @return\n- *   0 if matching, -1 otherwise.\n- */\n-typedef int (*mlx5_hlist_match_callback_fn)(struct mlx5_hlist_entry *entry,\n-\t\t\t\t\t     void *ctx);\n-\n /**\n  * Type of callback function for entry removal.\n  *\n@@ -429,49 +406,6 @@ struct mlx5_hlist_entry *mlx5_hlist_lookup(struct mlx5_hlist *h, uint64_t key,\n \t\t\t\t\t   void *ctx);\n \n /**\n- * Extended routine to search an entry matching the context with\n- * user defined match function.\n- *\n- * @param h\n- *   Pointer to the hast list table.\n- * @param key\n- *   Key for the searching entry.\n- * @param cb\n- *   Callback function to match the node with context.\n- * @param ctx\n- *   Common context parameter used by callback function.\n- *\n- * @return\n- *   Pointer of the hlist entry if found, NULL otherwise.\n- */\n-struct mlx5_hlist_entry *mlx5_hlist_lookup_ex(struct mlx5_hlist *h,\n-\t\t\t\t\t      uint64_t key,\n-\t\t\t\t\t      mlx5_hlist_match_callback_fn cb,\n-\t\t\t\t\t      void *ctx);\n-\n-/**\n- * Extended routine to insert an entry to the list with key collisions.\n- *\n- * For the list have key collision, the extra user defined match function\n- * allows node with same key will be inserted.\n- *\n- * @param h\n- *   Pointer to the hast list table.\n- * @param entry\n- *   Entry to be inserted into the hash list table.\n- * @param cb\n- *   Callback function to match the node with context.\n- * @param ctx\n- *   Common context parameter used by callback function.\n- *\n- * @return\n- *   - zero for success.\n- *   - -EEXIST if the entry is already inserted.\n- */\n-int mlx5_hlist_insert_ex(struct mlx5_hlist *h, struct mlx5_hlist_entry *entry,\n-\t\t\t mlx5_hlist_match_callback_fn cb, void *ctx);\n-\n-/**\n  * Insert an entry to the hash list table, the entry is only part of whole data\n  * element and a 64B key is used for matching. User should construct the key or\n  * give a calculated hash signature and guarantee there is no collision.\n",
    "prefixes": [
        "v3",
        "31/34"
    ]
}