Show a cover letter.

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

{
    "id": 108630,
    "url": "https://patches.dpdk.org/api/covers/108630/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/cover/20220310065407.17145-1-xuan.ding@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": "<20220310065407.17145-1-xuan.ding@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20220310065407.17145-1-xuan.ding@intel.com",
    "date": "2022-03-10T06:54:05",
    "name": "[RFC,v3,0/2] vhost: support async dequeue data path",
    "submitter": {
        "id": 1401,
        "url": "https://patches.dpdk.org/api/people/1401/?format=api",
        "name": "Ding, Xuan",
        "email": "xuan.ding@intel.com"
    },
    "mbox": "https://patches.dpdk.org/project/dpdk/cover/20220310065407.17145-1-xuan.ding@intel.com/mbox/",
    "series": [
        {
            "id": 22093,
            "url": "https://patches.dpdk.org/api/series/22093/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=22093",
            "date": "2022-03-10T06:54:05",
            "name": "vhost: support async dequeue data path",
            "version": 3,
            "mbox": "https://patches.dpdk.org/series/22093/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/covers/108630/comments/",
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@inbox.dpdk.org",
        "Delivered-To": "patchwork@inbox.dpdk.org",
        "Received": [
            "from mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 746ECA0093;\n\tThu, 10 Mar 2022 07:56:59 +0100 (CET)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 48E35410FC;\n\tThu, 10 Mar 2022 07:56:59 +0100 (CET)",
            "from mga04.intel.com (mga04.intel.com [192.55.52.120])\n by mails.dpdk.org (Postfix) with ESMTP id 8655F410DD\n for <dev@dpdk.org>; Thu, 10 Mar 2022 07:56:56 +0100 (CET)",
            "from orsmga007.jf.intel.com ([10.7.209.58])\n by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 09 Mar 2022 22:56:55 -0800",
            "from npg-dpdk-xuan-cbdma.sh.intel.com ([10.67.110.228])\n by orsmga007.jf.intel.com with ESMTP; 09 Mar 2022 22:56:52 -0800"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple;\n d=intel.com; i=@intel.com; q=dns/txt; s=Intel;\n t=1646895416; x=1678431416;\n h=from:to:cc:subject:date:message-id:in-reply-to: references;\n bh=xGsX5IMNGgXGj/1dM+3U0S0rIvcfhqXXQWzCNQt7c3E=;\n b=D4ViAgxgGdiKzraalifnNmu+lNxO5eaJnBzgOwOsug0200yFEKp/pVOC\n H4Hih7dAM0uioN6Yubqr+xtr1ZgtwBfR4YyAOUY2meC5T7h+9sGvRVBSN\n 4YCZKU5cai8sckZsMvs0sgNYe4AqyLW92ae2nZmUKGVuyzV3TutdfUX8h\n FIw2utAVYENk3PHxXWphsN65mongvYMws9k60s+8quoBdfPjExxCnfCzB\n v8u0g5dtgJGpqMYPqK5oexbhB8Bblb3U2ie8EnIz3/beQ4QptivM4PJj7\n OlHBcgWko69yPr0kEk7w6QjmWrdepe1kVYI36HVeWifUDhq9HJtqvHXZy w==;",
        "X-IronPort-AV": [
            "E=McAfee;i=\"6200,9189,10281\"; a=\"254006053\"",
            "E=Sophos;i=\"5.90,169,1643702400\"; d=\"scan'208\";a=\"254006053\"",
            "E=Sophos;i=\"5.90,169,1643702400\"; d=\"scan'208\";a=\"538333249\""
        ],
        "X-ExtLoop1": "1",
        "From": "xuan.ding@intel.com",
        "To": "maxime.coquelin@redhat.com,\n\tchenbo.xia@intel.com",
        "Cc": "dev@dpdk.org, jiayu.hu@intel.com, cheng1.jiang@intel.com,\n sunil.pai.g@intel.com, liangma@liangbit.com,\n Xuan Ding <xuan.ding@intel.com>",
        "Subject": "[RFC,v3 0/2] vhost: support async dequeue data path",
        "Date": "Thu, 10 Mar 2022 06:54:05 +0000",
        "Message-Id": "<20220310065407.17145-1-xuan.ding@intel.com>",
        "X-Mailer": "git-send-email 2.17.1",
        "In-Reply-To": "<20220101001244.90147-1-xuan.ding@intel.com>",
        "References": "<20220101001244.90147-1-xuan.ding@intel.com>",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <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 <mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org"
    },
    "content": "From: Xuan Ding <xuan.ding@intel.com>\n\nThe presence of asynchronous path allows applications to offload\nmemory copies to DMA engine, so as to save CPU cycles and improve\nthe copy performance. This patch set is a draft implementation for\nsplit ring in vhost async dequeue data path. The code is based on\nlatest enqueue changes [1].\n\nThis patch set is a new design and implementation of [2]. Since dmadev\nwas introduced in DPDK 21.11, to simplify application logics, this patch\nintegrates dmadev in vhost. With dmadev integrated, vhost supports M:N\nmapping between vrings and DMA virtual channels. Specifically, one vring\ncan use multiple different DMA channels and one DMA channel can be\nshared by multiple vrings at the same time.\n\nA new asynchronous dequeue function is introduced:\n        1) rte_vhost_async_try_dequeue_burst(int vid, uint16_t queue_id,\n                struct rte_mempool *mbuf_pool, struct rte_mbuf **pkts,\n                uint16_t count, int *nr_inflight,\n                uint16_t dma_id, uint16_t vchan_id)\n\n        Receive packets from the guest and offloads copies to DMA\nvirtual channel.\n\n[1] https://mails.dpdk.org/archives/dev/2022-February/234555.html\n[2] https://mails.dpdk.org/archives/dev/2021-September/218591.html\n\nRFC v2->v3:\n* rebase to latest DPDK version\n\nRFC v1 -> v2:\n* fix one bug in example\n* rename vchan to vchan_id\n* check if dma_id and vchan_id valid\n* rework all the logs to new standard\n\nXuan Ding (2):\n  vhost: support async dequeue for split ring\n  examples/vhost: support async dequeue data path\n\n doc/guides/sample_app_ug/vhost.rst |   9 +-\n examples/vhost/main.c              | 292 +++++++++++------\n examples/vhost/main.h              |  35 +-\n examples/vhost/virtio_net.c        |  16 +-\n lib/vhost/rte_vhost_async.h        |  37 ++-\n lib/vhost/version.map              |   1 +\n lib/vhost/vhost.h                  |   1 +\n lib/vhost/virtio_net.c             | 504 +++++++++++++++++++++++++++++\n 8 files changed, 795 insertions(+), 100 deletions(-)"
}