get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/1.0/patches/59794/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 59794,
    "url": "http://patchwork.dpdk.org/api/1.0/patches/59794/?format=api",
    "project": {
        "id": 1,
        "url": "http://patchwork.dpdk.org/api/1.0/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": "<1569507973-247570-1-git-send-email-jiayu.hu@intel.com>",
    "date": "2019-09-26T14:26:11",
    "name": "[RFC,0/2] Add a PMD for I/OAT accelerated vhost-user",
    "commit_ref": null,
    "pull_url": null,
    "state": null,
    "archived": false,
    "hash": null,
    "submitter": {
        "id": 539,
        "url": "http://patchwork.dpdk.org/api/1.0/people/539/?format=api",
        "name": "Hu, Jiayu",
        "email": "jiayu.hu@intel.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.dpdk.org/project/dpdk/patch/1569507973-247570-1-git-send-email-jiayu.hu@intel.com/mbox/",
    "series": [],
    "check": "pending",
    "checks": "http://patchwork.dpdk.org/api/patches/59794/checks/",
    "tags": {},
    "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 410A61BEEF;\n\tThu, 26 Sep 2019 09:44:04 +0200 (CEST)",
            "from mga04.intel.com (mga04.intel.com [192.55.52.120])\n\tby dpdk.org (Postfix) with ESMTP id D70E31BEE6\n\tfor <dev@dpdk.org>; Thu, 26 Sep 2019 09:44:01 +0200 (CEST)",
            "from fmsmga006.fm.intel.com ([10.253.24.20])\n\tby fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t26 Sep 2019 00:44:01 -0700",
            "from npg_dpdk_virtio_jiayuhu_07.sh.intel.com ([10.67.119.35])\n\tby fmsmga006.fm.intel.com with ESMTP; 26 Sep 2019 00:44:00 -0700"
        ],
        "X-Amp-Result": "SKIPPED(no attachment in message)",
        "X-Amp-File-Uploaded": "False",
        "X-ExtLoop1": "1",
        "X-IronPort-AV": "E=Sophos;i=\"5.64,551,1559545200\"; d=\"scan'208\";a=\"390505726\"",
        "From": "Jiayu Hu <jiayu.hu@intel.com>",
        "To": "dev@dpdk.org",
        "Cc": "tiwei.bie@intel.com, maxime.coquelin@redhat.com, zhihong.wang@intel.com, \n\tJiayu Hu <jiayu.hu@intel.com>",
        "Date": "Thu, 26 Sep 2019 10:26:11 -0400",
        "Message-Id": "<1569507973-247570-1-git-send-email-jiayu.hu@intel.com>",
        "X-Mailer": "git-send-email 2.7.4",
        "Subject": "[dpdk-dev] [RFC 0/2] Add a PMD for I/OAT accelerated vhost-user",
        "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 vhost-user enqueue and dequeue operations, where data movement is\nheavily involved, performing large memory copies usually takes up a\nmajor part of CPU cycles and becomes the hot spot. To offload expensive\nmemory operations from the CPU, this patch set proposes to leverage I/OAT,\na DMA engine in the Intel's processor, to accelerate large copies for\nvhost-user.\n\nWe implement a new PMD for the I/OAT accelerated vhost-user, called\nvhost-ioat. This PMD leverages librte_vhost to handle vhost messages,\nbut implements own vring's enqueue and dequeue operations. It offloads\nlarge memory copies to the I/OAT in a synchronous mode; that is, the CPU\njust submits copy jobs to the I/OAT but without waiting for its\ncompletion. Thus, there is no CPU intervention during data transfer;\nwe can save precious CPU cycles and improve vhost performance.\n\nThe PMD provides basic functionality of packet reception and\ntransmission. During packet reception and transmission, it offloads\nlarge copies to the I/OAT and performs small copies by the CPU, due to\nstartup overheads associated with the I/OAT. However, the PMD just\nsupports I/OAT acceleration in the PMD's transmit data path (i.e. vring's\nenqueue operation); it still uses the CPU to perform all copies in the\nPMD's receive data path (i.e. vring's dequeue operation) currently. Note\nthat the PMD just supports split ring.\n\nUsers can explicitly assign an I/OAT device to a TX queue by the\nparameter 'ioats'. But currently, one I/OAT device can only be used by\none queue and a queue can use one I/OAT device at a time. In addition,\nthe PMD supports multiqueue and both client and server modes. Users can\nspecify the queue number and client/server mode by 'queues' and 'client'\nparameters.\n\nJiayu Hu (2):\n  vhost: populate guest memory for DMA-accelerated vhost-user\n  net/vhost_ioat: add vhost I/OAT driver\n\n config/common_base                  |    2 +\n config/common_linux                 |    1 +\n drivers/Makefile                    |    2 +-\n drivers/net/Makefile                |    1 +\n drivers/net/vhost_ioat/Makefile     |   31 +\n drivers/net/vhost_ioat/eth_vhost.c  | 1439 +++++++++++++++++++++++++++++++++++\n drivers/net/vhost_ioat/eth_vhost.h  |  255 +++++++\n drivers/net/vhost_ioat/internal.h   |  225 ++++++\n drivers/net/vhost_ioat/virtio_net.c | 1243 ++++++++++++++++++++++++++++++\n lib/librte_vhost/rte_vhost.h        |    1 +\n lib/librte_vhost/socket.c           |   10 +\n lib/librte_vhost/vhost.h            |    2 +\n lib/librte_vhost/vhost_user.c       |    3 +-\n mk/rte.app.mk                       |    1 +\n 14 files changed, 3214 insertions(+), 2 deletions(-)\n create mode 100644 drivers/net/vhost_ioat/Makefile\n create mode 100644 drivers/net/vhost_ioat/eth_vhost.c\n create mode 100644 drivers/net/vhost_ioat/eth_vhost.h\n create mode 100644 drivers/net/vhost_ioat/internal.h\n create mode 100644 drivers/net/vhost_ioat/virtio_net.c",
    "diff": null,
    "prefixes": [
        "RFC",
        "0/2"
    ]
}