Show a cover letter.

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

{
    "id": 81709,
    "url": "http://patches.dpdk.org/api/covers/81709/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/cover/20201021203030.19042-1-akozyrev@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": "<20201021203030.19042-1-akozyrev@nvidia.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20201021203030.19042-1-akozyrev@nvidia.com",
    "date": "2020-10-21T20:30:28",
    "name": "[v2,0/2] net/mlx5: add vectorized mprq",
    "submitter": {
        "id": 1873,
        "url": "http://patches.dpdk.org/api/people/1873/?format=api",
        "name": "Alexander Kozyrev",
        "email": "akozyrev@nvidia.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/cover/20201021203030.19042-1-akozyrev@nvidia.com/mbox/",
    "series": [
        {
            "id": 13181,
            "url": "http://patches.dpdk.org/api/series/13181/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=13181",
            "date": "2020-10-21T20:30:28",
            "name": "net/mlx5: add vectorized mprq",
            "version": 2,
            "mbox": "http://patches.dpdk.org/series/13181/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/covers/81709/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 92EBDA04DD;\n\tWed, 21 Oct 2020 22:30:53 +0200 (CEST)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id A06BDA54C;\n\tWed, 21 Oct 2020 22:30:50 +0200 (CEST)",
            "from mellanox.co.il (mail-il-dmz.mellanox.com [193.47.165.129])\n by dpdk.org (Postfix) with ESMTP id 49FE1A54B\n for <dev@dpdk.org>; Wed, 21 Oct 2020 22:30:49 +0200 (CEST)",
            "from Internal Mail-Server by MTLPINE1 (envelope-from\n akozyrev@nvidia.com) with SMTP; 21 Oct 2020 23:30:47 +0300",
            "from nvidia.com (pegasus02.mtr.labs.mlnx [10.210.16.122])\n by labmailer.mlnx (8.13.8/8.13.8) with ESMTP id 09LKUl30019906;\n Wed, 21 Oct 2020 23:30:47 +0300"
        ],
        "From": "Alexander Kozyrev <akozyrev@nvidia.com>",
        "To": "dev@dpdk.org",
        "Cc": "rasland@nvidia.com, matan@nvidia.com, viacheslavo@nvidia.com",
        "Date": "Wed, 21 Oct 2020 20:30:28 +0000",
        "Message-Id": "<20201021203030.19042-1-akozyrev@nvidia.com>",
        "X-Mailer": "git-send-email 2.24.1",
        "In-Reply-To": "<20200719041142.14485-1-akozyrev@mellanox.com>",
        "References": "<20200719041142.14485-1-akozyrev@mellanox.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[dpdk-dev] [PATCH v2 0/2] net/mlx5: add vectorized mprq",
        "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": "The vectorized Rx burst function helps to accelerate the Rx processing\nby using SIMD (single instruction, multiple data) extensions for the\nmulti-buffer packet processing. Pre-allocating multiple mbufs and\nfilling them in batches of four greatly improves the throughput of the\nRx burst routine.\n\nMPRQ (Multi-Packet Rx Queue) lacks the vectorized version currently.\nIt works by posting a single large buffer (consisted of  multiple\nfixed-size strides) in order to receive multiple packets at once on this\nbuffer. A Rx packet is then copied to a user-provided mbuf or PMD\nattaches the Rx packet to the mbuf by the pointer to an external buffer.\n\nIt is proposed to add a vectorized MPRQ Rx routine to speed up the MPRQ\nbuffer handling as well. It would require pre-allocation of multiple\nmbufs every time we exhaust all the strides from the current MPRQ buffer\nand switch to a new one. The new mlx5_rx_burst_mprq_vec() routine will\ntake care of this as well as of decision on whether should we copy or\nattach an external buffer for a packet. The batch processing logic won't\nbe different from the simple vectorized Rx routine.\n\nThe new vectorized MPRQ burst function is going to be selected\nautomatically whenever the mprq_en devarg is specified. If SIMD is not\navailable on the platform we fall back to the simple MPRQ Rx burst\nfunction. LRO is not supported by the vectorized MPRQ version and fall\nback to the regular MPRQ will be performed.\n\n\nAlexander Kozyrev (2):\n  net/mlx5: refactor vectorized Rx routine\n  net/mlx5: implement vectorized MPRQ burst\n\n drivers/net/mlx5/mlx5_devx.c             |  15 +-\n drivers/net/mlx5/mlx5_ethdev.c           |  20 +-\n drivers/net/mlx5/mlx5_rxq.c              |  96 +++---\n drivers/net/mlx5/mlx5_rxtx.c             | 237 ++++---------\n drivers/net/mlx5/mlx5_rxtx.h             | 200 ++++++++++-\n drivers/net/mlx5/mlx5_rxtx_vec.c         | 416 ++++++++++++++++++++++-\n drivers/net/mlx5/mlx5_rxtx_vec.h         |  55 ---\n drivers/net/mlx5/mlx5_rxtx_vec_altivec.h | 106 ++----\n drivers/net/mlx5/mlx5_rxtx_vec_neon.h    | 103 ++----\n drivers/net/mlx5/mlx5_rxtx_vec_sse.h     | 121 ++-----\n 10 files changed, 813 insertions(+), 556 deletions(-)"
}