Show a cover letter.

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

{
    "id": 90184,
    "url": "http://patches.dpdk.org/api/covers/90184/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/cover/20210331073749.1382377-1-suanmingm@nvidia.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": "<20210331073749.1382377-1-suanmingm@nvidia.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20210331073749.1382377-1-suanmingm@nvidia.com",
    "date": "2021-03-31T07:37:45",
    "name": "[v4,0/4] regex/mlx5: support scattered mbuf",
    "submitter": {
        "id": 1887,
        "url": "http://patches.dpdk.org/api/people/1887/?format=api",
        "name": "Suanming Mou",
        "email": "suanmingm@nvidia.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/cover/20210331073749.1382377-1-suanmingm@nvidia.com/mbox/",
    "series": [
        {
            "id": 15999,
            "url": "http://patches.dpdk.org/api/series/15999/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=15999",
            "date": "2021-03-31T07:37:45",
            "name": "regex/mlx5: support scattered mbuf",
            "version": 4,
            "mbox": "http://patches.dpdk.org/series/15999/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/covers/90184/comments/",
    "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 2AC7EA034F;\n\tWed, 31 Mar 2021 09:38:30 +0200 (CEST)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id D91C8140DF1;\n\tWed, 31 Mar 2021 09:37:56 +0200 (CEST)",
            "from mellanox.co.il (mail-il-dmz.mellanox.com [193.47.165.129])\n by mails.dpdk.org (Postfix) with ESMTP id 8ED04140DF1\n for <dev@dpdk.org>; Wed, 31 Mar 2021 09:37:55 +0200 (CEST)",
            "from Internal Mail-Server by MTLPINE1 (envelope-from\n suanmingm@nvidia.com) with SMTP; 31 Mar 2021 10:37:52 +0300",
            "from nvidia.com (mtbc-r640-03.mtbc.labs.mlnx [10.75.70.8])\n by labmailer.mlnx (8.13.8/8.13.8) with ESMTP id 12V7boeE002108;\n Wed, 31 Mar 2021 10:37:51 +0300"
        ],
        "From": "Suanming Mou <suanmingm@nvidia.com>",
        "To": "orika@nvidia.com",
        "Cc": "dev@dpdk.org, viacheslavo@nvidia.com, matan@nvidia.com, rasland@nvidia.com",
        "Date": "Wed, 31 Mar 2021 10:37:45 +0300",
        "Message-Id": "<20210331073749.1382377-1-suanmingm@nvidia.com>",
        "X-Mailer": "git-send-email 2.25.1",
        "In-Reply-To": "<20210309235732.3952418-1-suanmingm@nvidia.com>",
        "References": "<20210309235732.3952418-1-suanmingm@nvidia.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[dpdk-dev] [PATCH v4 0/4] regex/mlx5: support scattered mbuf",
        "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": "The scattered mbuf was not supported in mlx5 RegEx driver. This\npatch set adds the support of scattered mbuf by UMR WQE.\n\nUMR(User-Mode Memory Registration) WQE can present data buffers\nscattered within multiple mbufs with single indirect mkey. Take\nadvantage of the UMR WQE, scattered mbuf in one operation can be\npresented to an indirect mkey. The RegEx which only accepts one\nmkey can now process the whole scattered mbuf in one operation.\n\nThe maximum scattered mbuf can be supported in one UMR WQE is now\ndefined as 64. The mbufs from multiple operations can be combined\ninto one UMR WQE as well if there is enough space in the KLM array,\nsince the operations can address their own mbuf's content by the\nmkey's address and length. However, one operation's scattered mbuf's\ncan't be placed in two different UMR WQE's KLM array, if the UMR\nWQE's KLM does not has enough free space for one operation, the\nextra UMR WQE will be engaged.\n\nIn case the UMR WQE's indirect mkey will be over wrapped by the SQ's\nWQE move, the mkey's index used by the UMR WQE should be the index\nof last the RegEX WQE in the operations. As one operation consumes\none WQE set, build the RegEx WQE by reverse helps address the mkey\nmore efficiently. Once the operations in one burst consumes multiple\nmkeys, when the mkey KLM array is full, the reverse WQE set index\nwill always be the last of the new mkey's for the new UMR WQE.\n\nIn GGA mode, the SQ WQE's memory layout becomes UMR/NOP and RegEx\nWQE by interleave. The UMR and RegEx WQE can be called as WQE set.\nThe SQ's pi and ci will also be increased as WQE set not as WQE.\n\nFor operations don't have scattered mbuf, uses the mbuf's mkey directly,\nthe WQE set combination is NOP + RegEx.\nFor operations have scattered mubf but share the UMR WQE with others,\nthe WQE set combination is NOP + RegEx.\nFor operations complete the UMR WQE, the WQE set combination is UMR +\nRegEx.\n\nv4:\n1. git log improvement.\n\nv3:\n1. Move testregex.rst change to the correct commit.\n2. Code rebase to the latest version.\n\nv2:\n1. Check mbuf multiple seg by nb_segs.\n2. Add ops prefetch.\n3. Allocate ops and mbuf memory together in test application.\n4. Fix ci and pi in correct issue.\n\nJohn Hurley (1):\n  regex/mlx5: prevent wrong calculation of free sqs in umr mode\n\nSuanming Mou (3):\n  common/mlx5: add user memory registration bits\n  regex/mlx5: add data path scattered mbuf process\n  app/test-regex: support scattered mbuf input\n\n app/test-regex/main.c                    | 134 ++++++--\n doc/guides/regexdevs/mlx5.rst            |   5 +\n doc/guides/rel_notes/release_21_05.rst   |   4 +\n doc/guides/tools/testregex.rst           |   3 +\n drivers/common/mlx5/linux/meson.build    |   2 +\n drivers/common/mlx5/mlx5_devx_cmds.c     |   5 +\n drivers/common/mlx5/mlx5_devx_cmds.h     |   3 +\n drivers/regex/mlx5/mlx5_regex.c          |   9 +\n drivers/regex/mlx5/mlx5_regex.h          |  26 +-\n drivers/regex/mlx5/mlx5_regex_control.c  |  43 ++-\n drivers/regex/mlx5/mlx5_regex_fastpath.c | 380 +++++++++++++++++++++--\n 11 files changed, 531 insertions(+), 83 deletions(-)"
}