get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 62778,
    "url": "http://patchwork.dpdk.org/api/patches/62778/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/patch/1573226590-69757-1-git-send-email-bingz@pegasus02.mtr.labs.mlnx/",
    "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": "<1573226590-69757-1-git-send-email-bingz@pegasus02.mtr.labs.mlnx>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1573226590-69757-1-git-send-email-bingz@pegasus02.mtr.labs.mlnx",
    "date": "2019-11-08T15:23:07",
    "name": "[v2,0/3] Reorganize resources of flow tables",
    "commit_ref": null,
    "pull_url": null,
    "state": null,
    "archived": false,
    "hash": null,
    "submitter": {
        "id": 1357,
        "url": "http://patchwork.dpdk.org/api/people/1357/?format=api",
        "name": "Bing Zhao",
        "email": "bingz@mellanox.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.dpdk.org/project/dpdk/patch/1573226590-69757-1-git-send-email-bingz@pegasus02.mtr.labs.mlnx/mbox/",
    "series": [],
    "comments": "http://patchwork.dpdk.org/api/patches/62778/comments/",
    "check": "pending",
    "checks": "http://patchwork.dpdk.org/api/patches/62778/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 2C3EDA04B4;\n\tFri,  8 Nov 2019 16:23:38 +0100 (CET)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id C4F591C247;\n\tFri,  8 Nov 2019 16:23:20 +0100 (CET)",
            "from mellanox.co.il (mail-il-dmz.mellanox.com [193.47.165.129])\n by dpdk.org (Postfix) with ESMTP id C8B4A1C224\n for <dev@dpdk.org>; Fri,  8 Nov 2019 16:23:12 +0100 (CET)",
            "from Internal Mail-Server by MTLPINE1 (envelope-from\n bingz@mellanox.com)\n with ESMTPS (AES256-SHA encrypted); 8 Nov 2019 17:23:10 +0200",
            "from pegasus02.mtr.labs.mlnx. (pegasus02.mtr.labs.mlnx\n [10.210.16.122])\n by labmailer.mlnx (8.13.8/8.13.8) with ESMTP id xA8FNAwr023982;\n Fri, 8 Nov 2019 17:23:10 +0200",
            "from pegasus02.mtr.labs.mlnx. (localhost.localdomain [127.0.0.1])\n by pegasus02.mtr.labs.mlnx. (8.14.7/8.14.7) with ESMTP id xA8FNALp069793;\n Fri, 8 Nov 2019 17:23:10 +0200",
            "(from bingz@localhost)\n by pegasus02.mtr.labs.mlnx. (8.14.7/8.14.7/Submit) id xA8FNAnL069792;\n Fri, 8 Nov 2019 17:23:10 +0200"
        ],
        "From": "Bing Zhao <bingz@mellanox.com>",
        "To": "viacheslavo@mellanox.com",
        "Cc": "Bing Zhao <bingz@mtbc-r640-01.mtbc.labs.mlnx>, orika@mellanox.com,\n rasland@mellanox.com, dev@dpdk.org",
        "Date": "Fri,  8 Nov 2019 17:23:07 +0200",
        "Message-Id": "<1573226590-69757-1-git-send-email-bingz@pegasus02.mtr.labs.mlnx>",
        "X-Mailer": "git-send-email 1.8.3.1",
        "In-Reply-To": "<1573188297-51428-2-git-send-email-bingz@mellanox.com>",
        "References": "<1573188297-51428-2-git-send-email-bingz@mellanox.com>",
        "Subject": "[dpdk-dev] [PATCH v2 0/3] Reorganize resources of flow tables",
        "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": "From: Bing Zhao <bingz@mtbc-r640-01.mtbc.labs.mlnx>\n\nNumber of flow tables is limited by the memory resource, and the index could be\nto as large as 2^^32 - 1. In the past, the flow tables are organized by arrays,\nand this organization has some advantages and disadvantages. The lookup for the\ntable resource from a linear array is quite fast, the ID could be used as the\nindex in the array. But it will cost some extra memory resource after system\nbring up and if only a small number of tables are created. In the meanwhile,\nsince we could not create the array with a huge number, so the maximal index of\nthe table is limited and it is  unreasonable.\nIf we change the array into some other tables, like some open addressing hash\ntable, the static memory cost is still to huge. But the index of the table\nlimitation could be get rid of. But in the meanwhile, it will introduce some\nnew issue that two tables with different ID may generate the same address index\nin the table. Then it will degrade the performance of the lookup, creating and\ndeleting. Moreover, sometimes it will cause a failure if the collisions rate\nare too heavy.\nThen the simple hash list is used as the first step to get rid of this\nlimitations. The only static memory over head is array of the LIST HEADs. In\nthe next step, we could use some extendable hash tables for this. This will of\ncourse introduce some performance degradation when lookup, creating and\nremoving tables in the lists if there are a lot of tables created in the\nsystem. We need to trade off among the functionality, memory and performance.\nSome other resources are associated with each flow tables and not global, like\nflow matchers and jump table object used by driver. They could also be\nreorganized and put into the flow table resources structure. Then the lookup\nprocess of these resources will be speeded up significantly.\n\nBing Zhao (3):\n  net/mlx5: reorganize flow tables with hash list\n  net/mlx5: reorganize jump table resources\n  net/mlx5: reorganize flow matcher resources\n\n drivers/net/mlx5/mlx5.c         |  16 ++\n drivers/net/mlx5/mlx5.h         |  25 ++--\n drivers/net/mlx5/mlx5_flow.h    |  24 ++-\n drivers/net/mlx5/mlx5_flow_dv.c | 316 +++++++++++++++++++++++-----------------\n 4 files changed, 230 insertions(+), 151 deletions(-)",
    "diff": null,
    "prefixes": [
        "v2",
        "0/3"
    ]
}