Show a cover letter.

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

{
    "id": 68540,
    "url": "http://patchwork.dpdk.org/api/covers/68540/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/cover/20200415164733.75416-1-yong.liu@intel.com/",
    "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": "<20200415164733.75416-1-yong.liu@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20200415164733.75416-1-yong.liu@intel.com",
    "date": "2020-04-15T16:47:25",
    "name": "[v4,0/8] add packed ring vectorized datapath",
    "submitter": {
        "id": 17,
        "url": "http://patchwork.dpdk.org/api/people/17/?format=api",
        "name": "Marvin Liu",
        "email": "yong.liu@intel.com"
    },
    "mbox": "http://patchwork.dpdk.org/project/dpdk/cover/20200415164733.75416-1-yong.liu@intel.com/mbox/",
    "series": [
        {
            "id": 9391,
            "url": "http://patchwork.dpdk.org/api/series/9391/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=9391",
            "date": "2020-04-15T16:47:25",
            "name": "add packed ring vectorized datapath",
            "version": 4,
            "mbox": "http://patchwork.dpdk.org/series/9391/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/covers/68540/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 51F98A0563;\n\tWed, 15 Apr 2020 11:13:21 +0200 (CEST)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id EBFD11D607;\n\tWed, 15 Apr 2020 11:13:20 +0200 (CEST)",
            "from mga09.intel.com (mga09.intel.com [134.134.136.24])\n by dpdk.org (Postfix) with ESMTP id 1E1951D5CC\n for <dev@dpdk.org>; Wed, 15 Apr 2020 11:13:18 +0200 (CEST)",
            "from orsmga004.jf.intel.com ([10.7.209.38])\n by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 15 Apr 2020 02:13:18 -0700",
            "from npg-dpdk-virtual-marvin-dev.sh.intel.com ([10.67.119.58])\n by orsmga004.jf.intel.com with ESMTP; 15 Apr 2020 02:13:16 -0700"
        ],
        "IronPort-SDR": [
            "\n g17nJvmyrslXdSCo4ZM+ifLl2/bhsG6VHIxKsfX319V20NkxbQ5JMaq9YhyPHgjNcuvh1K6y8N\n shH4Hv+G9I5g==",
            "\n jYr/ZSR+bn7XWZs9OcpzZ0aUMxDRmORbMHaVrwP8oabTcSachunh0JyQ+9IMMhx/Kyg57HCN/S\n 6zWFE1WMTFdQ=="
        ],
        "X-Amp-Result": "SKIPPED(no attachment in message)",
        "X-Amp-File-Uploaded": "False",
        "X-ExtLoop1": "1",
        "X-IronPort-AV": "E=Sophos;i=\"5.72,386,1580803200\"; d=\"scan'208\";a=\"400250825\"",
        "From": "Marvin Liu <yong.liu@intel.com>",
        "To": "maxime.coquelin@redhat.com, xiaolong.ye@intel.com, zhihong.wang@intel.com",
        "Cc": "harry.van.haaren@intel.com, dev@dpdk.org, Marvin Liu <yong.liu@intel.com>",
        "Date": "Thu, 16 Apr 2020 00:47:25 +0800",
        "Message-Id": "<20200415164733.75416-1-yong.liu@intel.com>",
        "X-Mailer": "git-send-email 2.17.1",
        "In-Reply-To": "<20200313174230.74661-1-yong.liu@intel.com>",
        "References": "<20200313174230.74661-1-yong.liu@intel.com>",
        "Subject": "[dpdk-dev] [PATCH v4 0/8] add packed ring vectorized datapath",
        "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": "This patch set introduced vectorized datapath for packed ring.\n\nThe size of packed ring descriptor is 16Bytes. Four batched descriptors\nare just placed into one cacheline. AVX512 instructions can well handle\nthis kind of data. Packed ring TX datapath can fully transformed into\nvectorized datapath. Rx datapath also can be vectorized when features\nlimiated(LRO and mergable disabled). User can specify whether disable\nvectorized packed ring datapath by 'packed_vec' parameter of virtio user\nvdev.\n\nv4:\n1. rename 'packed_vec' to 'vectorized', also used in split ring\n2. add RTE_LIBRTE_VIRTIO_INC_VECTOR config for virtio ethdev\n3. check required AVX512 extensions cpuflags\n4. combine split and packed ring datapath selection logic\n5. remove limitation that size must power of two\n6. clear 12Bytes virtio_net_hdr\n\nv3:\n1. Remove virtio_net_hdr array for better performance\n2. disable 'packed_vec' by default\n\nv2:\n1. more function blocks replaced by vector instructions\n2. clean virtio_net_hdr by vector instruction\n3. allow header room size change\n4. add 'packed_vec' option in virtio_user vdev \n5. fix build not check whether AVX512 enabled\n6. doc update\n\nMarvin Liu (8):\n  net/virtio: enable vectorized datapath\n  net/virtio-user: add vectorized datapath parameter\n  net/virtio: add vectorized packed ring Rx function\n  net/virtio: reuse packed ring xmit functions\n  net/virtio: add vectorized packed ring Tx datapath\n  eal/x86: identify AVX512 extensions flag\n  net/virtio: add election for vectorized datapath\n  doc: add packed vectorized datapath\n\n config/common_base                            |   1 +\n .../nics/features/virtio-packed_vec.ini       |  22 +\n .../{virtio_vec.ini => virtio-split_vec.ini}  |   2 +-\n doc/guides/nics/virtio.rst                    |  44 +-\n drivers/net/virtio/Makefile                   |  36 +\n drivers/net/virtio/meson.build                |  13 +\n drivers/net/virtio/virtio_ethdev.c            |  95 ++-\n drivers/net/virtio/virtio_ethdev.h            |   6 +\n drivers/net/virtio/virtio_pci.h               |   3 +-\n drivers/net/virtio/virtio_rxtx.c              | 182 +----\n drivers/net/virtio/virtio_rxtx_packed_avx.c   | 637 ++++++++++++++++++\n drivers/net/virtio/virtio_user_ethdev.c       |  36 +-\n drivers/net/virtio/virtqueue.c                |   6 +-\n drivers/net/virtio/virtqueue.h                | 163 ++++-\n lib/librte_eal/common/arch/x86/rte_cpuflags.c |   3 +\n .../common/include/arch/x86/rte_cpuflags.h    |   3 +\n 16 files changed, 1040 insertions(+), 212 deletions(-)\n create mode 100644 doc/guides/nics/features/virtio-packed_vec.ini\n rename doc/guides/nics/features/{virtio_vec.ini => virtio-split_vec.ini} (88%)\n create mode 100644 drivers/net/virtio/virtio_rxtx_packed_avx.c"
}