Show a cover letter.

GET /api/covers/67877/?format=api
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 67877,
    "url": "http://patches.dpdk.org/api/covers/67877/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/cover/1586231987-338112-1-git-send-email-suanmingm@mellanox.com/",
    "project": {
        "id": 1,
        "url": "http://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": "<1586231987-338112-1-git-send-email-suanmingm@mellanox.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1586231987-338112-1-git-send-email-suanmingm@mellanox.com",
    "date": "2020-04-07T03:59:39",
    "name": "[0/8] net/mlx5 counter optimize",
    "submitter": {
        "id": 1358,
        "url": "http://patches.dpdk.org/api/people/1358/?format=api",
        "name": "Suanming Mou",
        "email": "suanmingm@mellanox.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/cover/1586231987-338112-1-git-send-email-suanmingm@mellanox.com/mbox/",
    "series": [
        {
            "id": 9221,
            "url": "http://patches.dpdk.org/api/series/9221/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=9221",
            "date": "2020-04-07T03:59:39",
            "name": "net/mlx5 counter optimize",
            "version": 1,
            "mbox": "http://patches.dpdk.org/series/9221/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/covers/67877/comments/",
    "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 5370CA0577;\n\tTue,  7 Apr 2020 05:59:56 +0200 (CEST)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 790C32BD8;\n\tTue,  7 Apr 2020 05:59:55 +0200 (CEST)",
            "from git-send-mailer.rdmz.labs.mlnx (unknown [37.142.13.130])\n by dpdk.org (Postfix) with ESMTP id 81979FFA\n for <dev@dpdk.org>; Tue,  7 Apr 2020 05:59:53 +0200 (CEST)"
        ],
        "From": "Suanming Mou <suanmingm@mellanox.com>",
        "To": "",
        "Cc": "dev@dpdk.org,\n\trasland@mellanox.com",
        "Date": "Tue,  7 Apr 2020 11:59:39 +0800",
        "Message-Id": "<1586231987-338112-1-git-send-email-suanmingm@mellanox.com>",
        "X-Mailer": "git-send-email 1.8.3.1",
        "Subject": "[dpdk-dev] [PATCH 0/8] net/mlx5 counter optimize",
        "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 the plan of save the memory consumption for rte_flow, the counter\nmemory consumption will be optimized from two perspective.\n\nChange the counter object saving as index instead of pointer in rte_flow.\nIn this case, since currently the counters are allocated from the pool,\ncounter can use the index as it is in the pool to address the object. The\ncounter index ID is made up of the pool index and counter offset in the\npool.\n\nSplit the counter struct members are used only in batch and none batch.\nCurrently, there are two kinds of counters, one as batch and others as\nnone batch. The most widely used batch counters only use limited members\nin the counter struct. Split the members only used by none batch counters\nto the extend counter struct, and allocate the memory only for the none\nbatch counter pools saves memory for batch counters.\n\n\nSuanming Mou (8):\n  net/mlx5: fix incorrect counter container usage\n  net/mlx5: optimize counter release query generation\n  net/mlx5: change verbs counter allocator to indexed\n  common/mlx5: add batch counter id offset\n  net/mlx5: change Direct Verbs counter to indexed\n  net/mlx5: optimize flow counter handle type\n  net/mlx5: split the counter struct\n  net/mlx5: reorganize fallback counter management\n\n drivers/common/mlx5/mlx5_prm.h     |   9 +\n drivers/net/mlx5/mlx5.c            |   6 +-\n drivers/net/mlx5/mlx5.h            |  52 +++--\n drivers/net/mlx5/mlx5_flow.c       |  28 ++-\n drivers/net/mlx5/mlx5_flow.h       |  10 +-\n drivers/net/mlx5/mlx5_flow_dv.c    | 445 ++++++++++++++++++-------------------\n drivers/net/mlx5/mlx5_flow_verbs.c | 173 ++++++++++----\n 7 files changed, 428 insertions(+), 295 deletions(-)"
}