get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 125681,
    "url": "http://patches.dpdk.org/api/patches/125681/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20230331154259.1447831-7-maxime.coquelin@redhat.com/",
    "project": {
        "id": 1,
        "url": "http://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": "<20230331154259.1447831-7-maxime.coquelin@redhat.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20230331154259.1447831-7-maxime.coquelin@redhat.com",
    "date": "2023-03-31T15:42:38",
    "name": "[RFC,06/27] vhost: don't dump unneeded pages with IOTLB",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "6bf9881b3761fbe07e601e2635ef66e98322bc72",
    "submitter": {
        "id": 512,
        "url": "http://patches.dpdk.org/api/people/512/?format=api",
        "name": "Maxime Coquelin",
        "email": "maxime.coquelin@redhat.com"
    },
    "delegate": {
        "id": 2642,
        "url": "http://patches.dpdk.org/api/users/2642/?format=api",
        "username": "mcoquelin",
        "first_name": "Maxime",
        "last_name": "Coquelin",
        "email": "maxime.coquelin@redhat.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/20230331154259.1447831-7-maxime.coquelin@redhat.com/mbox/",
    "series": [
        {
            "id": 27594,
            "url": "http://patches.dpdk.org/api/series/27594/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=27594",
            "date": "2023-03-31T15:42:32",
            "name": "Add VDUSE support to Vhost library",
            "version": 1,
            "mbox": "http://patches.dpdk.org/series/27594/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/125681/comments/",
    "check": "pending",
    "checks": "http://patches.dpdk.org/api/patches/125681/checks/",
    "tags": {},
    "related": [],
    "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 B05C842887;\n\tFri, 31 Mar 2023 17:43:45 +0200 (CEST)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 8869B42D6D;\n\tFri, 31 Mar 2023 17:43:25 +0200 (CEST)",
            "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 E21FE42D61\n for <dev@dpdk.org>; Fri, 31 Mar 2023 17:43:23 +0200 (CEST)",
            "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-557-0WXIu4HfO2yuZC7he8VNiQ-1; Fri, 31 Mar 2023 11:43:22 -0400",
            "from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com\n [10.11.54.4])\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 951F28030A0;\n Fri, 31 Mar 2023 15:43:21 +0000 (UTC)",
            "from max-t490s.redhat.com (unknown [10.39.208.6])\n by smtp.corp.redhat.com (Postfix) with ESMTP id 12CF52027040;\n Fri, 31 Mar 2023 15:43:18 +0000 (UTC)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n s=mimecast20190719; t=1680277403;\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=DXV36NX/aIzMqke4hM7zTyQWFh29iERb0TpNS+taEGE=;\n b=IGYNHibLIl3t4CpMGK58G1MvPMftOhTG0+CiclNk4CAG2Udf3mrVfMDIl1FN2m2Ms16tXR\n 9vfUQ+xnTcCcTVYnv1UblVhpUmp6mCjgrX7rpQ0HBCfmvunpThrd6JhBw2DHo4lvH73XOO\n EhTbDtqoLX9n8Okx42t5Va15lylifYA=",
        "X-MC-Unique": "0WXIu4HfO2yuZC7he8VNiQ-1",
        "From": "Maxime Coquelin <maxime.coquelin@redhat.com>",
        "To": "dev@dpdk.org, david.marchand@redhat.com, chenbo.xia@intel.com,\n mkp@redhat.com, fbl@redhat.com, jasowang@redhat.com,\n cunming.liang@intel.com, xieyongji@bytedance.com, echaudro@redhat.com,\n eperezma@redhat.com, amorenoz@redhat.com",
        "Cc": "Maxime Coquelin <maxime.coquelin@redhat.com>,\n\tstable@dpdk.org",
        "Subject": "[RFC 06/27] vhost: don't dump unneeded pages with IOTLB",
        "Date": "Fri, 31 Mar 2023 17:42:38 +0200",
        "Message-Id": "<20230331154259.1447831-7-maxime.coquelin@redhat.com>",
        "In-Reply-To": "<20230331154259.1447831-1-maxime.coquelin@redhat.com>",
        "References": "<20230331154259.1447831-1-maxime.coquelin@redhat.com>",
        "MIME-Version": "1.0",
        "X-Scanned-By": "MIMEDefang 3.1 on 10.11.54.4",
        "X-Mimecast-Spam-Score": "0",
        "X-Mimecast-Originator": "redhat.com",
        "Content-Transfer-Encoding": "8bit",
        "Content-Type": "text/plain; charset=\"US-ASCII\"; x-default=true",
        "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": "On IOTLB entry removal, previous fixes took care of not\nmarking pages shared with other IOTLB entries as DONTDUMP.\n\nHowever, if an IOTLB entry is spanned on multiple pages,\nthe other pages were kept as DODUMP while they might not\nhave been shared with other entries, increasing needlessly\nthe coredump size.\n\nThis patch addresses this issue by excluding only the\nshared pages from madvise's DONTDUMP.\n\nFixes: dea092d0addb (\"vhost: fix madvise arguments alignment\")\nCc: stable@dpdk.org\n\nSigned-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>\n---\n lib/vhost/iotlb.c | 21 ++++++++++++++-------\n 1 file changed, 14 insertions(+), 7 deletions(-)",
    "diff": "diff --git a/lib/vhost/iotlb.c b/lib/vhost/iotlb.c\nindex d919f74704..f598c0a8c4 100644\n--- a/lib/vhost/iotlb.c\n+++ b/lib/vhost/iotlb.c\n@@ -54,16 +54,23 @@ static void\n vhost_user_iotlb_clear_dump(struct virtio_net *dev, struct vhost_iotlb_entry *node,\n \t\tstruct vhost_iotlb_entry *prev, struct vhost_iotlb_entry *next)\n {\n-\tuint64_t align;\n+\tuint64_t align, start, end;\n+\n+\tstart = node->uaddr;\n+\tend = node->uaddr + node->size;\n \n \talign = hua_to_alignment(dev->mem, (void *)(uintptr_t)node->uaddr);\n \n-\t/* Don't disable coredump if the previous node is in the same page */\n-\tif (!vhost_user_iotlb_share_page(prev, node, align)) {\n-\t\t/* Don't disable coredump if the next node is in the same page */\n-\t\tif (!vhost_user_iotlb_share_page(node, next, align))\n-\t\t\tmem_set_dump((void *)(uintptr_t)node->uaddr, node->size, false, align);\n-\t}\n+\t/* Skip first page if shared with previous entry. */\n+\tif (vhost_user_iotlb_share_page(prev, node, align))\n+\t\tstart = RTE_ALIGN_CEIL(start, align);\n+\n+\t/* Skip last page if shared with next entry. */\n+\tif (vhost_user_iotlb_share_page(node, next, align))\n+\t\tend = RTE_ALIGN_FLOOR(end, align);\n+\n+\tif (end > start)\n+\t\tmem_set_dump((void *)(uintptr_t)start, end - start, false, align);\n }\n \n static struct vhost_iotlb_entry *\n",
    "prefixes": [
        "RFC",
        "06/27"
    ]
}