Show a cover letter.

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

{
    "id": 69514,
    "url": "http://patchwork.dpdk.org/api/covers/69514/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/cover/20200429072822.102745-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": "<20200429072822.102745-1-yong.liu@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20200429072822.102745-1-yong.liu@intel.com",
    "date": "2020-04-29T07:28:13",
    "name": "[v12,0/9] add packed ring vectorized path",
    "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/20200429072822.102745-1-yong.liu@intel.com/mbox/",
    "series": [
        {
            "id": 9726,
            "url": "http://patchwork.dpdk.org/api/series/9726/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=9726",
            "date": "2020-04-29T07:28:13",
            "name": "add packed ring vectorized path",
            "version": 12,
            "mbox": "http://patchwork.dpdk.org/series/9726/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/covers/69514/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 6BA2EA00BE;\n\tWed, 29 Apr 2020 09:28:29 +0200 (CEST)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 063F41D8FC;\n\tWed, 29 Apr 2020 09:28:29 +0200 (CEST)",
            "from mga18.intel.com (mga18.intel.com [134.134.136.126])\n by dpdk.org (Postfix) with ESMTP id D111E1D8F5\n for <dev@dpdk.org>; Wed, 29 Apr 2020 09:28:27 +0200 (CEST)",
            "from fmsmga004.fm.intel.com ([10.253.24.48])\n by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 29 Apr 2020 00:28:26 -0700",
            "from npg-dpdk-virtual-marvin-dev.sh.intel.com ([10.67.119.56])\n by fmsmga004.fm.intel.com with ESMTP; 29 Apr 2020 00:28:25 -0700"
        ],
        "IronPort-SDR": [
            "\n Rw2M+hWNUCiFeGbNd0STwqp+8k7JCm1QRUo8FAxJBmfPzZH2rkatKZu0bOzIi8PzNNFsAOE9GC\n a15Ac08B/HBQ==",
            "\n K9yZws9CNDXcbngMsOW0Np1AQ20KJLG5Dc+ALgMOi8PV3T1kZB3rSQEruiLcX2locZhdXrejl0\n mYVXuw2Hb0eg=="
        ],
        "X-Amp-Result": "SKIPPED(no attachment in message)",
        "X-Amp-File-Uploaded": "False",
        "X-ExtLoop1": "1",
        "X-IronPort-AV": "E=Sophos;i=\"5.73,330,1583222400\"; d=\"scan'208\";a=\"282415069\"",
        "From": "Marvin Liu <yong.liu@intel.com>",
        "To": "maxime.coquelin@redhat.com, xiaolong.ye@intel.com, zhihong.wang@intel.com",
        "Cc": "dev@dpdk.org,\n\tMarvin Liu <yong.liu@intel.com>",
        "Date": "Wed, 29 Apr 2020 15:28:13 +0800",
        "Message-Id": "<20200429072822.102745-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 v12 0/9] add packed ring vectorized path",
        "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 path 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 path can fully transformed into\nvectorized path. Packed ring Rx path can be vectorized when requirements\nmet(LRO and mergeable disabled).\n\nNew device parameter \"vectorized\" will be introduced in this patch set.\nThis parameter will be workable for both virtio device and virtio user\nvdev. It will also unify split and packed ring vectorized path default\nsetting. Path election logic will check dependencies of vectorized path.\nPacked ring vectorized path is dependent on building/running environment\nand features like IN_ORDER and VERSION_1 enabled, MRG and LRO disabled. \nIf vectorized path is not supported, will fallback to normal path.\n\nv12:\n* eliminate weak symbols in data path\n* remove desc extra padding which can impact normal path \n* fix enqueue address invalid\n\nv11:\n* fix i686 build warnings\n* fix typo in doc\n\nv10:\n* reuse packed ring xmit cleanup\n\nv9:\n* replace RTE_LIBRTE_VIRTIO_INC_VECTOR with vectorized devarg\n* reorder patch sequence\n\nv8:\n* fix meson build error on ubuntu16.04 and suse15\n\nv7:\n* default vectorization is disabled\n* compilation time check dependency on rte_mbuf structure\n* offsets are calcuated when compiling\n* remove useless barrier as descs are batched store&load\n* vindex of scatter is directly set\n* some comments updates\n* enable vectorized path in meson build\n\nv6:\n* fix issue when size not power of 2\n\nv5:\n* remove cpuflags definition as required extensions always come with\n  AVX512F on x86_64\n* inorder actions should depend on feature bit\n* check ring type in rx queue setup\n* rewrite some commit logs\n* fix some checkpatch warnings\n\nv4:\n* rename 'packed_vec' to 'vectorized', also used in split ring\n* add RTE_LIBRTE_VIRTIO_INC_VECTOR config for virtio ethdev\n* check required AVX512 extensions cpuflags\n* combine split and packed ring datapath selection logic\n* remove limitation that size must power of two\n* clear 12Bytes virtio_net_hdr\n\nv3:\n* remove virtio_net_hdr array for better performance\n* disable 'packed_vec' by default\n\nv2:\n* more function blocks replaced by vector instructions\n* clean virtio_net_hdr by vector instruction\n* allow header room size change\n* add 'packed_vec' option in virtio_user vdev \n* fix build not check whether AVX512 enabled\n* doc update\n\nTested-by: Wang, Yinan <yinan.wang@intel.com>\n\nMarvin Liu (9):\n  net/virtio: add Rx free threshold setting\n  net/virtio: inorder should depend on feature bit\n  net/virtio: add vectorized devarg\n  net/virtio-user: add vectorized devarg\n  net/virtio: reuse packed ring functions\n  net/virtio: add vectorized packed ring Rx path\n  net/virtio: add vectorized packed ring Tx path\n  net/virtio: add election for vectorized path\n  doc: add packed vectorized path\n\n doc/guides/nics/virtio.rst                  |  52 +-\n drivers/net/virtio/Makefile                 |  35 ++\n drivers/net/virtio/meson.build              |  14 +\n drivers/net/virtio/virtio_ethdev.c          | 142 ++++-\n drivers/net/virtio/virtio_ethdev.h          |   6 +\n drivers/net/virtio/virtio_pci.h             |   3 +-\n drivers/net/virtio/virtio_rxtx.c            | 351 ++---------\n drivers/net/virtio/virtio_rxtx_packed_avx.c | 607 ++++++++++++++++++++\n drivers/net/virtio/virtio_user_ethdev.c     |  32 +-\n drivers/net/virtio/virtqueue.c              |   7 +-\n drivers/net/virtio/virtqueue.h              | 304 ++++++++++\n 11 files changed, 1199 insertions(+), 354 deletions(-)\n create mode 100644 drivers/net/virtio/virtio_rxtx_packed_avx.c"
}