Show a cover letter.

GET /api/covers/42054/?format=api
Content-Type: application/json
Vary: Accept

    "id": 42054,
    "url": "",
    "web_url": "",
    "project": {
        "id": 1,
        "url": "",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "",
        "list_email": "",
        "web_url": "",
        "scm_url": "git://",
        "webscm_url": ""
    "msgid": "<>",
    "date": "2018-07-02T13:56:33",
    "name": "[v5,0/9] support in-order feature",
    "submitter": {
        "id": 17,
        "url": "",
        "name": "Liu, Yong",
        "email": ""
    "mbox": "",
    "series": [
            "id": 345,
            "url": "",
            "web_url": "",
            "date": "2018-07-02T13:56:33",
            "name": "support in-order feature",
            "version": 5,
            "mbox": ""
    "comments": "",
    "headers": {
        "Return-Path": "<>",
        "X-BeenThere": "",
        "X-Mailman-Version": "2.1.15",
        "X-IronPort-AV": "E=Sophos;i=\"5.51,298,1526367600\"; d=\"scan'208\";a=\"237141536\"",
        "From": "Marvin Liu <>",
        "List-Post": "<>",
        "Content-Type": "text/plain; charset=UTF-8",
        "X-ExtLoop1": "1",
        "Delivered-To": "",
        "Message-Id": "<>",
        "X-Original-To": "",
        "Received": [
            "from [] (localhost [])\n\tby (Postfix) with ESMTP id 90D892D13;\n\tMon,  2 Jul 2018 08:11:09 +0200 (CEST)",
            "from ( [])\n\tby (Postfix) with ESMTP id CB6142D13\n\tfor <>; Mon,  2 Jul 2018 08:11:07 +0200 (CEST)",
            "from ([])\n\tby with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t01 Jul 2018 23:11:05 -0700",
            "from ([])\n\tby with ESMTP; 01 Jul 2018 23:11:04 -0700"
        "X-Mailer": "git-send-email 2.17.0",
        "Sender": "\"dev\" <>",
        "Subject": "[dpdk-dev] [PATCH v5 0/9] support in-order feature",
        "Precedence": "list",
        "Date": "Mon,  2 Jul 2018 21:56:33 +0800",
        "List-Archive": "<>",
        "List-Help": "<>",
        "X-Amp-File-Uploaded": "False",
        "List-Subscribe": "<>,\n\t<>",
        "Cc": ",\n\,\n\tMarvin Liu <>",
        "List-Id": "DPDK patches and discussions <>",
        "List-Unsubscribe": "<>,\n\t<>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "To": ",\n\",
        "X-Amp-Result": "SKIPPED(no attachment in message)",
        "Errors-To": ""
    "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\nv5:\n- disable simple Tx when in-order negotiated\n- doc update\n\nv4:\n- disable simple [RT]x function for ARM\n- squash doc update into relevant patches\n- fix git-check-log and checkpatch errors\n\nv3:\n- refine [RT]x function selection logic\n- fix in-order mergeable packets index error\n- combine unsupport mask patch\n- doc virtio in-order update\n- fix checkpatch error\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 (9):\n  vhost: advertise support in-order feature\n  net/virtio: add in-order feature bit definition\n  net/virtio-user: add unsupported features mask\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: advertise support in-order feature\n\n doc/guides/nics/virtio.rst                    |  23 +-\n drivers/net/virtio/virtio_ethdev.c            |  32 +-\n drivers/net/virtio/virtio_ethdev.h            |   7 +\n drivers/net/virtio/virtio_pci.h               |   8 +\n drivers/net/virtio/virtio_rxtx.c              | 639 ++++++++++++++++--\n .../net/virtio/virtio_user/virtio_user_dev.c  |  30 +-\n .../net/virtio/virtio_user/virtio_user_dev.h  |   4 +-\n drivers/net/virtio/virtio_user_ethdev.c       |  47 +-\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 12 files changed, 736 insertions(+), 80 deletions(-)"