Show a cover letter.

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

{
    "id": 122850,
    "url": "http://patchwork.dpdk.org/api/covers/122850/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/cover/20230201111411.1509520-1-david.marchand@redhat.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": "<20230201111411.1509520-1-david.marchand@redhat.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20230201111411.1509520-1-david.marchand@redhat.com",
    "date": "2023-02-01T11:14:02",
    "name": "[v5,0/9] Lock annotations",
    "submitter": {
        "id": 1173,
        "url": "http://patchwork.dpdk.org/api/people/1173/?format=api",
        "name": "David Marchand",
        "email": "david.marchand@redhat.com"
    },
    "mbox": "http://patchwork.dpdk.org/project/dpdk/cover/20230201111411.1509520-1-david.marchand@redhat.com/mbox/",
    "series": [
        {
            "id": 26733,
            "url": "http://patchwork.dpdk.org/api/series/26733/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=26733",
            "date": "2023-02-01T11:14:02",
            "name": "Lock annotations",
            "version": 5,
            "mbox": "http://patchwork.dpdk.org/series/26733/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/covers/122850/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 236DD41B9E;\n\tWed,  1 Feb 2023 12:15:50 +0100 (CET)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id F22F6406A2;\n\tWed,  1 Feb 2023 12:15:49 +0100 (CET)",
            "from us-smtp-delivery-124.mimecast.com\n (us-smtp-delivery-124.mimecast.com [170.10.129.124])\n by mails.dpdk.org (Postfix) with ESMTP id 1BAE04021F\n for <dev@dpdk.org>; Wed,  1 Feb 2023 12:15:48 +0100 (CET)",
            "from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com\n [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS\n (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n us-mta-145-baYxa2G2PwK9QUghM7xkRw-1; Wed, 01 Feb 2023 06:15:46 -0500",
            "from smtp.corp.redhat.com (int-mx08.intmail.prod.int.rdu2.redhat.com\n [10.11.54.8])\n (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n (No client certificate requested)\n by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 01315858F0E;\n Wed,  1 Feb 2023 11:15:46 +0000 (UTC)",
            "from dmarchan.redhat.com (ovpn-192-67.brq.redhat.com [10.40.192.67])\n by smtp.corp.redhat.com (Postfix) with ESMTP id 48474C15BAE;\n Wed,  1 Feb 2023 11:15:44 +0000 (UTC)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n s=mimecast20190719; t=1675250147;\n h=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n to:to:cc:cc:mime-version:mime-version:content-type:content-type:\n content-transfer-encoding:content-transfer-encoding:\n in-reply-to:in-reply-to:references:references;\n bh=viFRfP6rrc/O99HF8M1JGsxf6JmOqtBlyT7Z+METil0=;\n b=VdYxL6kPGNiobCOHvzum5IiXSDbceUA8TKRTxvNCiKVeeoeVptg7r+w0XWuEx8tbFvi89d\n n2TZhOWsTlxY4vOTSzwkn66PfGAI4dzdoZYiFV2WRYLo0eu25thVqXptxIFAtfFgJFanPK\n 7NUj+MKNCoU6lu9ngCjFOy7k+7vDkko=",
        "X-MC-Unique": "baYxa2G2PwK9QUghM7xkRw-1",
        "From": "David Marchand <david.marchand@redhat.com>",
        "To": "dev@dpdk.org",
        "Cc": "maxime.coquelin@redhat.com, stephen@networkplumber.org,\n chenbo.xia@intel.com, jiayu.hu@intel.com, yuanx.wang@intel.com,\n xuan.ding@intel.com, mb@smartsharesystems.com",
        "Subject": "[PATCH v5 0/9] Lock annotations",
        "Date": "Wed,  1 Feb 2023 12:14:02 +0100",
        "Message-Id": "<20230201111411.1509520-1-david.marchand@redhat.com>",
        "In-Reply-To": "<20220328121758.26632-1-david.marchand@redhat.com>",
        "References": "<20220328121758.26632-1-david.marchand@redhat.com>",
        "MIME-Version": "1.0",
        "X-Scanned-By": "MIMEDefang 3.1 on 10.11.54.8",
        "X-Mimecast-Spam-Score": "0",
        "X-Mimecast-Originator": "redhat.com",
        "Content-Type": "text/plain; charset=UTF-8",
        "Content-Transfer-Encoding": "8bit",
        "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": "vhost internals involves multiple locks to protect data access by\nmultiple threads.\n\nThis series uses clang thread safety checks [1] to catch issues during\ncompilation: EAL spinlock, seqlock and rwlock are annotated and vhost\ncode is instrumented so that clang can statically check correctness.\n\nThose annotations are quite heavy to maintain because the full path of\ncode must be annotated (as can be seen in the vhost datapath code),\nbut I think it is worth using.\n\nThis has been tested against the whole tree and some fixes are already\nflying on the mailing list (see [2] for a list).\n\nIf this first series is merged, I will prepare a followup series for EAL\nand other libraries.\n\n\n1: https://clang.llvm.org/docs/ThreadSafetyAnalysis.html\n2: https://patchwork.dpdk.org/bundle/dmarchand/lock_fixes/?state=*&archive=both"
}