Show a cover letter.

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

{
    "id": 40793,
    "url": "http://patches.dpdk.org/api/covers/40793/?format=api",
    "web_url": "http://patches.dpdk.org/cover/40793/",
    "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"
    },
    "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/?format=api",
        "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/?format=api",
            "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": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "X-IronPort-AV": "E=Sophos;i=\"5.49,488,1520924400\"; d=\"scan'208\";a=\"230856596\"",
        "From": "Marvin Liu <yong.liu@intel.com>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "Content-Type": "text/plain; charset=UTF-8",
        "X-ExtLoop1": "1",
        "Delivered-To": "patchwork@dpdk.org",
        "Message-Id": "<20180608090724.20855-1-yong.liu@intel.com>",
        "X-Original-To": "patchwork@dpdk.org",
        "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"
        ],
        "X-Mailer": "git-send-email 2.17.0",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>",
        "Subject": "[dpdk-dev] [PATCH 0/7] support VIRTIO_F_IN_ORDER feature",
        "Precedence": "list",
        "Date": "Fri,  8 Jun 2018 17:07:17 +0800",
        "List-Archive": "<http://dpdk.org/ml/archives/dev/>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "X-Amp-File-Uploaded": "False",
        "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>",
        "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>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "To": "maxime.coquelin@redhat.com,\n\ttiwei.bie@intel.com",
        "X-Amp-Result": "SKIPPED(no attachment in message)",
        "Errors-To": "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 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(-)"
}