Show a cover letter.

GET /api/covers/40793/
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 40793,
    "url": "http://patches.dpdk.org/api/covers/40793/",
    "web_url": "http://patches.dpdk.org/cover/40793/",
    "project": {
        "id": 1,
        "url": "http://patches.dpdk.org/api/projects/1/",
        "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"
    },
    "msgid": "<20180608090724.20855-1-yong.liu@intel.com>",
    "date": "2018-06-08T09:07:17",
    "name": "[dpdk-dev,0/7] support VIRTIO_F_IN_ORDER feature",
    "submitter": {
        "id": 17,
        "url": "http://patches.dpdk.org/api/people/17/",
        "name": "Liu, Yong",
        "email": "yong.liu@intel.com"
    },
    "mbox": "http://patches.dpdk.org/cover/40793/mbox/",
    "series": [
        {
            "id": 39,
            "url": "http://patches.dpdk.org/api/series/39/",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=39",
            "date": "2018-06-08T09:07:17",
            "name": "support VIRTIO_F_IN_ORDER feature",
            "version": 1,
            "mbox": "http://patches.dpdk.org/series/39/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/covers/40793/comments/",
    "headers": {
        "List-Subscribe": "<https://dpdk.org/ml/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "Cc": "zhihong.wang@intel.com,\n\tdev@dpdk.org,\n\tMarvin Liu <yong.liu@intel.com>",
        "X-Original-To": "patchwork@dpdk.org",
        "Date": "Fri,  8 Jun 2018 17:07:17 +0800",
        "Precedence": "list",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailer": "git-send-email 2.17.0",
        "Return-Path": "<dev-bounces@dpdk.org>",
        "To": "maxime.coquelin@redhat.com,\n\ttiwei.bie@intel.com",
        "X-Amp-Result": "SKIPPED(no attachment in message)",
        "Errors-To": "dev-bounces@dpdk.org",
        "List-Post": "<mailto:dev@dpdk.org>",
        "MIME-Version": "1.0",
        "Received": [
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 97FB91B03D;\n\tFri,  8 Jun 2018 03:20:56 +0200 (CEST)",
            "from mga02.intel.com (mga02.intel.com [134.134.136.20])\n\tby dpdk.org (Postfix) with ESMTP id 87D007CC9\n\tfor <dev@dpdk.org>; Fri,  8 Jun 2018 03:20:54 +0200 (CEST)",
            "from orsmga005.jf.intel.com ([10.7.209.41])\n\tby orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t07 Jun 2018 18:20:51 -0700",
            "from dpdk-test32.sh.intel.com ([10.67.119.57])\n\tby orsmga005.jf.intel.com with ESMTP; 07 Jun 2018 18:20:50 -0700"
        ],
        "From": "Marvin Liu <yong.liu@intel.com>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "X-ExtLoop1": "1",
        "X-Amp-File-Uploaded": "False",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[dpdk-dev] [PATCH 0/7] support VIRTIO_F_IN_ORDER feature",
        "List-Archive": "<http://dpdk.org/ml/archives/dev/>",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://dpdk.org/ml/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "Content-Type": "text/plain; charset=UTF-8",
        "X-IronPort-AV": "E=Sophos;i=\"5.49,488,1520924400\"; d=\"scan'208\";a=\"230856596\"",
        "Delivered-To": "patchwork@dpdk.org",
        "Message-Id": "<20180608090724.20855-1-yong.liu@intel.com>",
        "X-Mailman-Version": "2.1.15"
    },
    "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 simplify vhost and device code as desc/used/avail ring are\nusing same index. \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\nIN_ORDER can improve virtio/vhost performance. This patch implement\nvirtio driver part only, we can see significant gain there. As a result\nit impacts vhost performance a little since there’s no dedicated Rx/Tx\nimplementation on vhost side. This can be added in another patch later.\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.9Mpps  |25.4Mpps  |31.6Mpps |\n    |Normal        |12.1Mpps  |18.5Mpps  |18.9Mpps |\n    +--------------+----------+----------+---------+\n    \n    +--------------+----------+----------------+---------+\n    |Virtio->Vhost |1 Queue   |2 Queues        |4 Queues |\n    +--------------+----------+----------------+---------+\n    |Inorder       |16.4Mpps  |11.9 ~ 19.5Mpps |11.8Mpps |\n    |Normal        |13.3Mpps  |9.8 ~ 14Mpps    |10.5Mpps |\n    +--------------+----------+----------------+---------+\n    \n    +---------+----------+----------------+----------------+\n    |Loopback |1 Queue   |2 Queues        |4 Queues        |\n    +---------+----------+----------------+----------------+\n    |Inorder  |6.2Mpps   |9.5 ~ 11.9Mpps  |10.6 ~ 11.3Mpps |\n    +---------+----------+----------------+----------------+\n\nMarvin Liu (7):\n  vhost: announce VIRTIO_F_IN_ORDER support\n  net/virtio: add VIRTIO_F_IN_ORDER definition\n  net/virtio-user: add mgr_rxbuf and in_order vdev parameters\n  net/virtio: free IN_ORDER descriptors\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              | 618 ++++++++++++++++--\n .../net/virtio/virtio_user/virtio_user_dev.c  |  10 +-\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                     |   4 +\n lib/librte_vhost/vhost.h                      |  10 +-\n 11 files changed, 668 insertions(+), 66 deletions(-)"
}