Show a cover letter.

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

{
    "id": 96051,
    "url": "http://patchwork.dpdk.org/api/covers/96051/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/cover/1626706847-276163-1-git-send-email-jiayu.hu@intel.com/",
    "project": {
        "id": 1,
        "url": "http://patchwork.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": "<1626706847-276163-1-git-send-email-jiayu.hu@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1626706847-276163-1-git-send-email-jiayu.hu@intel.com",
    "date": "2021-07-19T15:00:44",
    "name": "[v6,0/3] provide thread unsafe async registration functions",
    "submitter": {
        "id": 539,
        "url": "http://patchwork.dpdk.org/api/people/539/?format=api",
        "name": "Hu, Jiayu",
        "email": "jiayu.hu@intel.com"
    },
    "mbox": "http://patchwork.dpdk.org/project/dpdk/cover/1626706847-276163-1-git-send-email-jiayu.hu@intel.com/mbox/",
    "series": [
        {
            "id": 17891,
            "url": "http://patchwork.dpdk.org/api/series/17891/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=17891",
            "date": "2021-07-19T15:00:44",
            "name": "provide thread unsafe async registration functions",
            "version": 6,
            "mbox": "http://patchwork.dpdk.org/series/17891/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/covers/96051/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 94063A034F;\n\tMon, 19 Jul 2021 10:33:36 +0200 (CEST)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 66A0D410FC;\n\tMon, 19 Jul 2021 10:33:35 +0200 (CEST)",
            "from mga05.intel.com (mga05.intel.com [192.55.52.43])\n by mails.dpdk.org (Postfix) with ESMTP id 0ABB54068B\n for <dev@dpdk.org>; Mon, 19 Jul 2021 10:33:33 +0200 (CEST)",
            "from fmsmga008.fm.intel.com ([10.253.24.58])\n by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 19 Jul 2021 01:33:32 -0700",
            "from npg_dpdk_virtio_jiayuhu_07.sh.intel.com ([10.67.119.25])\n by fmsmga008.fm.intel.com with ESMTP; 19 Jul 2021 01:33:31 -0700"
        ],
        "X-IronPort-AV": [
            "E=McAfee;i=\"6200,9189,10049\"; a=\"296577197\"",
            "E=Sophos;i=\"5.84,251,1620716400\"; d=\"scan'208\";a=\"296577197\"",
            "E=Sophos;i=\"5.84,251,1620716400\"; d=\"scan'208\";a=\"468347509\""
        ],
        "X-ExtLoop1": "1",
        "From": "Jiayu Hu <jiayu.hu@intel.com>",
        "To": "dev@dpdk.org",
        "Cc": "maxime.coquelin@redhat.com, chenbo.xia@intel.com,\n Jiayu Hu <jiayu.hu@intel.com>",
        "Date": "Mon, 19 Jul 2021 11:00:44 -0400",
        "Message-Id": "<1626706847-276163-1-git-send-email-jiayu.hu@intel.com>",
        "X-Mailer": "git-send-email 2.7.4",
        "In-Reply-To": "<1626465089-17052-2-git-send-email-jiayu.hu@intel.com>",
        "References": "<1626465089-17052-2-git-send-email-jiayu.hu@intel.com>",
        "Subject": "[dpdk-dev] [PATCH v6 0/3] provide thread unsafe async registration\n functions",
        "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",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "Lock protection is needed during the vhost notifies the application of\ndevice readiness, so the first patch adds lock protection. In addition,\nthe second patch reworks async feature structure to improve readability.\nAfter performing locking, existed async vhost registration functions will\ncause deadlock, as they acquire lock too. The last patch provides thread\nunsafe registration functions to support calling within vhost callback\nfunctions.\n\nv6:\n* remove RTE_VHOST_ASYNC_FEATURE_UNKNOWN\n* add blank lines in doc\nv5:\n* improve coding style\n* update commit log, doc and comments\n* remove useless field async_inorder\n* change async_threshold from uint16_t to uint32_t\nv4:\n* remove brace {} in single statement block\nv3:\n* rename and use enum to define async device features\n* change padding fields to 8 bytes\nv2:\n* rework async feature structure\n* fix typo in commit log\n\nJiayu Hu (3):\n  vhost: fix lock on device readiness notification\n  vhost: rework async configuration structure\n  vhost: add thread unsafe async registeration functions\n\n doc/guides/prog_guide/vhost_lib.rst |  37 ++++++--\n examples/vhost/main.c               |   8 +-\n lib/vhost/rte_vhost_async.h         |  85 ++++++++++++++-----\n lib/vhost/version.map               |   4 +\n lib/vhost/vhost.c                   | 162 ++++++++++++++++++++++++++----------\n lib/vhost/vhost.h                   |   3 +-\n lib/vhost/vhost_user.c              |   5 +-\n 7 files changed, 220 insertions(+), 84 deletions(-)"
}