Show a cover letter.

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

{
    "id": 49028,
    "url": "https://patches.dpdk.org/api/covers/49028/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/cover/20181218080207.178666-1-xiao.w.wang@intel.com/",
    "project": {
        "id": 1,
        "url": "https://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",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<20181218080207.178666-1-xiao.w.wang@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20181218080207.178666-1-xiao.w.wang@intel.com",
    "date": "2018-12-18T08:01:57",
    "name": "[v5,00/10] support SW assisted VDPA live migration",
    "submitter": {
        "id": 281,
        "url": "https://patches.dpdk.org/api/people/281/?format=api",
        "name": "Xiao Wang",
        "email": "xiao.w.wang@intel.com"
    },
    "mbox": "https://patches.dpdk.org/project/dpdk/cover/20181218080207.178666-1-xiao.w.wang@intel.com/mbox/",
    "series": [
        {
            "id": 2840,
            "url": "https://patches.dpdk.org/api/series/2840/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=2840",
            "date": "2018-12-18T08:01:57",
            "name": "support SW assisted VDPA live migration",
            "version": 5,
            "mbox": "https://patches.dpdk.org/series/2840/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/covers/49028/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 3558A1B676;\n\tTue, 18 Dec 2018 09:12:18 +0100 (CET)",
            "from mga02.intel.com (mga02.intel.com [134.134.136.20])\n\tby dpdk.org (Postfix) with ESMTP id 1823B1B611\n\tfor <dev@dpdk.org>; Tue, 18 Dec 2018 09:12:15 +0100 (CET)",
            "from orsmga008.jf.intel.com ([10.7.209.65])\n\tby orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t18 Dec 2018 00:12:15 -0800",
            "from dpdk-xiao-1.sh.intel.com ([10.67.111.145])\n\tby orsmga008.jf.intel.com with ESMTP; 18 Dec 2018 00:12:13 -0800"
        ],
        "X-Amp-Result": "SKIPPED(no attachment in message)",
        "X-Amp-File-Uploaded": "False",
        "X-ExtLoop1": "1",
        "X-IronPort-AV": "E=Sophos;i=\"5.56,367,1539673200\"; d=\"scan'208\";a=\"102374996\"",
        "From": "Xiao Wang <xiao.w.wang@intel.com>",
        "To": "tiwei.bie@intel.com,\n\tmaxime.coquelin@redhat.com",
        "Cc": "alejandro.lucero@netronome.com, dev@dpdk.org, zhihong.wang@intel.com,\n\txiaolong.ye@intel.com, Xiao Wang <xiao.w.wang@intel.com>",
        "Date": "Tue, 18 Dec 2018 16:01:57 +0800",
        "Message-Id": "<20181218080207.178666-1-xiao.w.wang@intel.com>",
        "X-Mailer": "git-send-email 2.15.1",
        "In-Reply-To": "<20181214211612.167681-4-xiao.w.wang@intel.com>",
        "References": "<20181214211612.167681-4-xiao.w.wang@intel.com>",
        "Subject": "[dpdk-dev] [PATCH v5 00/10] support SW assisted VDPA live migration",
        "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 the previous VDPA implementation we have enabled live migration support\nby HW accelerator doing all the stuff, including dirty page logging and\ndevice status report/restore. In this mode VDPA sample daemon and device\ndriver just takes care of the control path and does not involve in data\npath, so there's almost 0 CPU resource usage. This mode requires device\nto have dirty page logging capability.\n\nThis patch series adds live migration support for devices without logging\ncapability. VDPA driver could set up a relay thread standing between the\nguest and device when live migration happens, this relay intervenes into\nthe communication between guest virtio driver and physical virtio\naccelerator, it helps device to do a vring relay and passingly log dirty\npages. Thus some CPU resource will be consumed in this scenario, percentage\ndepending on the network throughput.\n\nSome new helpers are added into vhost lib for this VDPA SW fallback:\n- rte_vhost_host_notifier_ctrl, to enable/disable the VDPA direct-IO\n  datapath.\n- rte_vdpa_relay_vring_avail, to relay the available request from guest vring\n  to mediate vring.\n- rte_vdpa_relay_vring_used, to relay the used response from mediate vring to\n  guest vring.\n\nSome existing helpers are also leveraged for SW fallback setup, like VFIO\ninterrupt configuration, IOMMU table programming, etc.\n\nThis patch enables this SW assisted VDPA live migration in ifc driver.\nSince ifcvf also supports HW dirty page logging, we add a new devarg\nfor user to select if the SW mode is used or not.\n\nv5:\n* Change the devargs parameter from \"swlm\" to \"sw-live-migration\" to avoid\n  obscure.\n* Change \"mediate\" to \"mediated\".\n* Fix some commit message.\n* Add description on \"vdpa\" parameter in ifc doc.\n* Add __rte_experimental modifier for new API in vdpa.c, not only in rte_vdpa.h\n\nv4:\n* Add a patch to remove the unused vhost internal API: vhost_detach_vdpa_device().\n\nv3:\n* Fix indent in relay code.\n* Fix the iova access mode issue of buffer check.\n* Rename the relay API to be more generic, and add more API note for used\n  ring handling.\n* Add kvargs lib dependency in ifc driver.\n* Add commit message for the doc update patch for checkpatch warning.\n\nv2:\n* Reword the vdpa host notifier control API comment.\n* Make the vring relay API parameter as \"void *\" to accomodate the future\n  potential new ring layout, e.g. packed ring.\n* Add parameter check for the new API.\n* Add memory barrier for ring idx update.\n* Remove the used ring logging in the relay.\n* Some comment fix and code cleaning according to Tiwei's comment.\n* Add release note update.\n\nXiao Wang (10):\n  vhost: remove unused internal API\n  vhost: provide helper for host notifier ctrl\n  vhost: provide helpers for virtio ring relay\n  net/ifc: dump debug message for error\n  net/ifc: store only registered device instance\n  net/ifc: detect if VDPA mode is specified\n  net/ifc: add devarg for LM mode\n  net/ifc: use lib API for used ring logging\n  net/ifc: support SW assisted VDPA live migration\n  doc: update ifc NIC document\n\n doc/guides/nics/ifc.rst                |  12 +-\n doc/guides/rel_notes/release_19_02.rst |   6 +\n drivers/net/ifc/Makefile               |   1 +\n drivers/net/ifc/base/ifcvf.h           |   1 +\n drivers/net/ifc/ifcvf_vdpa.c           | 461 ++++++++++++++++++++++++++++++---\n lib/librte_vhost/rte_vdpa.h            |  57 ++++\n lib/librte_vhost/rte_vhost_version.map |   3 +\n lib/librte_vhost/vdpa.c                | 194 ++++++++++++++\n lib/librte_vhost/vhost.c               |  13 -\n lib/librte_vhost/vhost.h               |  41 ++-\n lib/librte_vhost/vhost_user.c          |   7 +-\n lib/librte_vhost/virtio_net.c          |  39 ---\n 12 files changed, 744 insertions(+), 91 deletions(-)"
}