Show a cover letter.

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

{
    "id": 41469,
    "url": "http://patchwork.dpdk.org/api/covers/41469/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/cover/20180625151710.29437-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": "<20180625151710.29437-1-yong.liu@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20180625151710.29437-1-yong.liu@intel.com",
    "date": "2018-06-25T15:17:02",
    "name": "[v2,0/8] support VIRTIO_F_IN_ORDER feature",
    "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/20180625151710.29437-1-yong.liu@intel.com/mbox/",
    "series": [
        {
            "id": 223,
            "url": "http://patchwork.dpdk.org/api/series/223/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=223",
            "date": "2018-06-25T15:17:02",
            "name": "support VIRTIO_F_IN_ORDER feature",
            "version": 2,
            "mbox": "http://patchwork.dpdk.org/series/223/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/covers/41469/comments/",
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@dpdk.org",
        "Delivered-To": "patchwork@dpdk.org",
        "Received": [
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id B4AE55F2C;\n\tMon, 25 Jun 2018 09:31:15 +0200 (CEST)",
            "from mga06.intel.com (mga06.intel.com [134.134.136.31])\n\tby dpdk.org (Postfix) with ESMTP id D5A325F24\n\tfor <dev@dpdk.org>; Mon, 25 Jun 2018 09:31:11 +0200 (CEST)",
            "from fmsmga006.fm.intel.com ([10.253.24.20])\n\tby orsmga104.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t25 Jun 2018 00:31:10 -0700",
            "from dpdk-test32.sh.intel.com ([10.67.119.193])\n\tby fmsmga006.fm.intel.com with ESMTP; 25 Jun 2018 00:31:09 -0700"
        ],
        "X-Amp-Result": "SKIPPED(no attachment in message)",
        "X-Amp-File-Uploaded": "False",
        "X-ExtLoop1": "1",
        "X-IronPort-AV": "E=Sophos;i=\"5.51,269,1526367600\"; d=\"scan'208\";a=\"240338521\"",
        "From": "Marvin Liu <yong.liu@intel.com>",
        "To": "maxime.coquelin@redhat.com,\n\ttiwei.bie@intel.com",
        "Cc": "zhihong.wang@intel.com,\n\tdev@dpdk.org,\n\tMarvin Liu <yong.liu@intel.com>",
        "Date": "Mon, 25 Jun 2018 23:17:02 +0800",
        "Message-Id": "<20180625151710.29437-1-yong.liu@intel.com>",
        "X-Mailer": "git-send-email 2.17.0",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=UTF-8",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[dpdk-dev] [PATCH v2 0/8] support VIRTIO_F_IN_ORDER feature",
        "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\t<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\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "In latest virtio-spec, new feature bit VIRTIO_F_IN_ORDER was introduced.\nWhen this feature has been negotiated, virtio driver will use\ndescriptors in ring order: starting from offset 0 in the table, and\nwrapping around at the end of the table. Vhost devices will always use\ndescriptors in the same order in which they have been made available.\nThis can reduce virtio accesses to used ring.\n\nBased on updated virtio-spec, this series realized IN_ORDER prototype\nin virtio driver. Due to new [RT]x path added into selection, also add\ntwo new parameters mrg_rx and in_order into virtio-user vdev parameters\nlist. This will allow user to configure feature bits thus can impact\n[RT]x path selection.\n\nPerformance of virtio user with IN_ORDER feature:\n\n    Platform: Purely\n    CPU: Intel(R) Xeon(R) Platinum 8160 CPU @ 2.10GHz\n    DPDK baseline: 18.05\n    Setup: testpmd with vhost vdev + testpmd with virtio vdev\n\n    +--------------+----------+----------+---------+\n    |Vhost->Virtio |1 Queue   |2 Queues  |4 Queues |\n    +--------------+----------+----------+---------+\n    |Inorder       |12.0Mpps  |24.2Mpps  |26.0Mpps |\n    |Normal        |12.1Mpps  |18.5Mpps  |18.9Mpps |\n    +--------------+----------+----------+---------+\n    \n    +--------------+----------+----------------+---------+\n    |Virtio->Vhost |1 Queue   |2 Queues        |4 Queues |\n    +--------------+----------+----------------+---------+\n    |Inorder       |13.8Mpps  |10.7 ~ 15.2Mpps |11.5Mpps |\n    |Normal        |13.3Mpps  |9.8 ~ 14Mpps    |10.5Mpps |\n    +--------------+----------+----------------+---------+\n    \n    +---------+----------+----------------+----------------+\n    |Loopback |1 Queue   |2 Queues        |4 Queues        |\n    +---------+----------+----------------+----------------+\n    |Inorder  |7.4Mpps   |9.1 ~ 11.6Mpps  |10.5 ~ 11.3Mpps |\n    +---------+----------+----------------+----------------+\n    |Normal   |7.5Mpps   |7.7 ~ 9.0Mpps   |7.6 ~ 7.8Mpps   |\n    +---------+----------+----------------+----------------+\n\nv2:\n- merge to latest dpdk-net-virtio \n- not use in_direct for normal xmit packets\n- update available ring for each descriptor\n- clean up IN_ORDER xmit function\n- unmask feature bits when disabled in_order or mgr_rxbuf\n- extract common part between IN_ORDER and normal functions\n- update performance result\n\nMarvin Liu (8):\n  vhost: announce VIRTIO_F_IN_ORDER support\n  net/virtio: add VIRTIO_F_IN_ORDER definition\n  net/virtio-user: add mrg_rxbuf and in_order vdev parameters\n  net/virtio: free IN_ORDER descriptors before device start\n  net/virtio: extract common part for IN_ORDER functions\n  net/virtio: support IN_ORDER Rx and Tx\n  net/virtio: add IN_ORDER Rx/Tx into selection\n  net/virtio: annouce VIRTIO_F_IN_ORDER support\n\n drivers/net/virtio/virtio_ethdev.c            |  31 +-\n drivers/net/virtio/virtio_ethdev.h            |   7 +\n drivers/net/virtio/virtio_pci.h               |   8 +\n drivers/net/virtio/virtio_rxtx.c              | 635 ++++++++++++++++--\n .../net/virtio/virtio_user/virtio_user_dev.c  |  14 +-\n .../net/virtio/virtio_user/virtio_user_dev.h  |   3 +-\n drivers/net/virtio/virtio_user_ethdev.c       |  33 +-\n drivers/net/virtio/virtqueue.c                |   8 +\n drivers/net/virtio/virtqueue.h                |   2 +\n lib/librte_vhost/socket.c                     |   6 +\n lib/librte_vhost/vhost.h                      |  10 +-\n 11 files changed, 688 insertions(+), 69 deletions(-)"
}