get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 86848,
    "url": "https://patches.dpdk.org/api/patches/86848/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/20210119035910.8324-2-l.wojciechow@partner.samsung.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": "<20210119035910.8324-2-l.wojciechow@partner.samsung.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20210119035910.8324-2-l.wojciechow@partner.samsung.com",
    "date": "2021-01-19T03:59:10",
    "name": "[v1,1/1] test/distributor: prevent return buffer overload",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "e005b1359db2c87978c0d93a07934f2ed70d6a78",
    "submitter": {
        "id": 1628,
        "url": "https://patches.dpdk.org/api/people/1628/?format=api",
        "name": "Lukasz Wojciechowski",
        "email": "l.wojciechow@partner.samsung.com"
    },
    "delegate": {
        "id": 24651,
        "url": "https://patches.dpdk.org/api/users/24651/?format=api",
        "username": "dmarchand",
        "first_name": "David",
        "last_name": "Marchand",
        "email": "david.marchand@redhat.com"
    },
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/20210119035910.8324-2-l.wojciechow@partner.samsung.com/mbox/",
    "series": [
        {
            "id": 14827,
            "url": "https://patches.dpdk.org/api/series/14827/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=14827",
            "date": "2021-01-19T03:59:09",
            "name": "distributor test fix",
            "version": 1,
            "mbox": "https://patches.dpdk.org/series/14827/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/86848/comments/",
    "check": "warning",
    "checks": "https://patches.dpdk.org/api/patches/86848/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 DA33AA0A03;\n\tTue, 19 Jan 2021 04:59:30 +0100 (CET)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 7C774140E35;\n\tTue, 19 Jan 2021 04:59:25 +0100 (CET)",
            "from mailout2.w1.samsung.com (mailout2.w1.samsung.com\n [210.118.77.12])\n by mails.dpdk.org (Postfix) with ESMTP id 0A9AA140E2B\n for <dev@dpdk.org>; Tue, 19 Jan 2021 04:59:24 +0100 (CET)",
            "from eucas1p2.samsung.com (unknown [182.198.249.207])\n by mailout2.w1.samsung.com (KnoxPortal) with ESMTP id\n 20210119035923euoutp02b7adc07e7ee8c6c17de34c734ef78573~bhh-m2sL01506615066euoutp02R\n for <dev@dpdk.org>; Tue, 19 Jan 2021 03:59:23 +0000 (GMT)",
            "from eusmges3new.samsung.com (unknown [203.254.199.245]) by\n eucas1p1.samsung.com (KnoxPortal) with ESMTP id\n 20210119035922eucas1p17def111dd49c0ed75d2a0725981334fb~bhh_6xhOG2575625756eucas1p1Q;\n Tue, 19 Jan 2021 03:59:22 +0000 (GMT)",
            "from eucas1p1.samsung.com ( [182.198.249.206]) by\n eusmges3new.samsung.com (EUCPMTA) with SMTP id 03.1F.45488.A1956006; Tue, 19\n Jan 2021 03:59:22 +0000 (GMT)",
            "from eusmtrp2.samsung.com (unknown [182.198.249.139]) by\n eucas1p1.samsung.com (KnoxPortal) with ESMTPA id\n 20210119035921eucas1p1aaea0d68975ba9481f200912eb10a40e~bhh9qoGJZ2776027760eucas1p1Q;\n Tue, 19 Jan 2021 03:59:21 +0000 (GMT)",
            "from eusmgms2.samsung.com (unknown [182.198.249.180]) by\n eusmtrp2.samsung.com (KnoxPortal) with ESMTP id\n 20210119035921eusmtrp2de325e5f8b3ed776356b2a8f59e8ce4d~bhh9pxb1c3020830208eusmtrp2-;\n Tue, 19 Jan 2021 03:59:21 +0000 (GMT)",
            "from eusmtip2.samsung.com ( [203.254.199.222]) by\n eusmgms2.samsung.com (EUCPMTA) with SMTP id 02.D9.16282.91956006; Tue, 19\n Jan 2021 03:59:21 +0000 (GMT)",
            "from localhost.localdomain (unknown [106.210.134.142]) by\n eusmtip2.samsung.com (KnoxPortal) with ESMTPA id\n 20210119035920eusmtip2c5cc058b5231937f42d10d5fbc1a4029~bhh9GYtjb1116911169eusmtip2p;\n Tue, 19 Jan 2021 03:59:20 +0000 (GMT)"
        ],
        "DKIM-Filter": "OpenDKIM Filter v2.11.0 mailout2.w1.samsung.com\n 20210119035923euoutp02b7adc07e7ee8c6c17de34c734ef78573~bhh-m2sL01506615066euoutp02R",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com;\n s=mail20170921; t=1611028763;\n bh=Y5PVchVvmQ3Zeaxo+whQso2z+8/iuS+U3lMBH0J3Fng=;\n h=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n b=ckVQwVIpLaA8GvnpmI37VQbYeniQss1MBRDMBPOcQwiI3OouT8V3nRD/2gTp4zHXI\n JkT+WemlGYZ5+UxZnc1m9V9s3ytnEW3onF2N7c53oOycZXG/KEOtDrsD7lqc6/oed2\n 3V5Fg1PWSL1ldQkYGWf837JQjiFfZ7EXtTyT1zYc=",
        "X-AuditID": "cbfec7f5-c77ff7000000b1b0-f1-6006591a2f32",
        "From": "Lukasz Wojciechowski <l.wojciechow@partner.samsung.com>",
        "To": "David Hunt <david.hunt@intel.com>, Bruce Richardson\n <bruce.richardson@intel.com>",
        "Cc": "dev@dpdk.org, l.wojciechow@partner.samsung.com, stable@dpdk.org",
        "Date": "Tue, 19 Jan 2021 04:59:10 +0100",
        "Message-Id": "<20210119035910.8324-2-l.wojciechow@partner.samsung.com>",
        "X-Mailer": "git-send-email 2.17.1",
        "In-Reply-To": "<20210119035910.8324-1-l.wojciechow@partner.samsung.com>",
        "X-Brightmail-Tracker": [
            "\n H4sIAAAAAAAAA+NgFrrOIsWRmVeSWpSXmKPExsWy7djPc7pSkWwJBisuS1jcWGVv0TfpI5PF\n u0/bmSye9axjtPjX8YfdgdXj14KlrB6L97xk8jj4bg9TAHMUl01Kak5mWWqRvl0CV8bjm5oF\n N0QrTl6/y9TA+F+wi5GTQ0LARGL2hy9sXYxcHEICKxgltq3eww7hfGGUWPfiOTtIlZDAZ0aJ\n 9mYemI41bZdYIOLLGSVaXvtANHxllLj89iITSIJNwFbiyMyvrCC2iECYRHPzXqAGDg5mAWeJ\n J1/ZQMLCAh4Sd87/A5vPIqAq0XBmGjOIzSvgInH8+2lGiF3yEqs3HACLcwq4Skzp/cAEsktC\n 4Ce7RPPz06wQRS4SZ6f2sEPYwhKvjm+BsmUk/u+cD9WwjVHi6u+fjBDOfkaJ670roKqsJQ7/\n +80GcZ2mxPpd+iCmhICjxNnzwhAmn8SNt+DQYgYyJ22bzgwR5pXoaBOCmKEn8bRnKiPM1j9r\n n7BA2B4S+6c8gAbuDEaJzh+tzBMY5Wch7FrAyLiKUTy1tDg3PbXYOC+1XK84Mbe4NC9dLzk/\n dxMjMO5P/zv+dQfjilcf9Q4xMnEwHmKU4GBWEuEtXceUIMSbklhZlVqUH19UmpNafIhRmoNF\n SZx319Y18UIC6YklqdmpqQWpRTBZJg5OqQamzvkC+/b17lu+ak+LAH/dDRHP4jfcX1fpHHi4\n RCo2/22g4vJFOzqUDoo0thydmZ8RHHRzVm+H/M4fHFv1890VYk89tApx4bbN7gnbW3HeXC5F\n 4em2d1LeyvM+nvg68Vf01greQ0H131w88v+Jxq7c77sj+dXynOcr8jcsO+Wu0xQUmKokxpYV\n znvrBgdfxIVo99oApcoEv0PxH7tm37wd/3155wQZvZZv6dzneSNWqX0pEZlklbfy/8Q7XlP3\n 1XWvd2xPCfnKVdpVbrytrn/5hg0bX3ZZrDqeKPbKsNn1SH5ZyXWj7DNzdaxD13+M0azzvbb2\n RKapl87H5L2J3++dq5reYGt1+nlHaLjAYw0lluKMREMt5qLiRADj2xCHagMAAA==",
            "\n H4sIAAAAAAAAA+NgFtrJLMWRmVeSWpSXmKPExsVy+t/xe7qSkWwJBnvesVncWGVv0TfpI5PF\n u0/bmSye9axjtPjX8YfdgdXj14KlrB6L97xk8jj4bg9TAHOUnk1RfmlJqkJGfnGJrVK0oYWR\n nqGlhZ6RiaWeobF5rJWRqZK+nU1Kak5mWWqRvl2CXsbjm5oFN0QrTl6/y9TA+F+wi5GTQ0LA\n RGJN2yWWLkYuDiGBpYwSn+9dYO1i5ABKyEh8uCQAUSMs8edaFxtEzWdGiWVLjzKDJNgEbCWO\n zPwKVi8iECZxYqU/SJhZwF1iy+KpYCXCAh4Sd87/YwexWQRUJRrOTAOL8wq4SBz/fpoRYr68\n xOoNB8DinAKuElN6PzCB2EJANY3P5jJOYORbwMiwilEktbQ4Nz232EivODG3uDQvXS85P3cT\n IzAMtx37uWUH48pXH/UOMTJxMB5ilOBgVhLhLV3HlCDEm5JYWZValB9fVJqTWnyI0RTojonM\n UqLJ+cBIyCuJNzQzMDU0MbM0MLU0M1YS5zU5siZeSCA9sSQ1OzW1ILUIpo+Jg1Oqgalvddyc\n GD4fz7jkBanWPk8PZh5QuHz4kdHJWelKTQW7eFOer56bH7n9Wnn+xVXKW2ewin3jOuQY82jX\n oXMrfn3gE8zPE0pcp33113HTziwXtffvT3ueKDtobveJxyDxefOvFVJzmNtmtn3hcpt6rSc3\n VFQqtnX6jXX6UbFyF2Z9+9xsdPuP0KRVBVzl0utyTxztzY0qvDD9dHRof+aNQ5PuPj1jPkvU\n ZY/KDNWelTmtHEJV+gU53Wu4Dz/69T0w/INNZsWfLR8UWd4Vue27tMlmWkSSpqTQ4kStEHVB\n w6k/G75qqDou1InafUeKy+N6hYBhcBOfVJwK30WL+xWWezSYUz6kbdm1u/f/se+5iUosxRmJ\n hlrMRcWJAIKzXtbMAgAA"
        ],
        "X-CMS-MailID": "20210119035921eucas1p1aaea0d68975ba9481f200912eb10a40e",
        "X-Msg-Generator": "CA",
        "Content-Type": "text/plain; charset=\"utf-8\"",
        "X-RootMTR": "20210119035921eucas1p1aaea0d68975ba9481f200912eb10a40e",
        "X-EPHeader": "CA",
        "CMS-TYPE": "201P",
        "X-CMS-RootMailID": "20210119035921eucas1p1aaea0d68975ba9481f200912eb10a40e",
        "References": "<20210119035910.8324-1-l.wojciechow@partner.samsung.com>\n <CGME20210119035921eucas1p1aaea0d68975ba9481f200912eb10a40e@eucas1p1.samsung.com>",
        "Subject": "[dpdk-dev] [PATCH v1 1/1] test/distributor: prevent return buffer\n overload",
        "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": "The distributor library implementation uses a cyclic queue to store\npackets returned from workers. These packets can be later collected\nwith rte_distributor_returned_pkts() call.\nHowever the queue has limited capacity. It is able to contain only\n127 packets (RTE_DISTRIB_RETURNS_MASK).\n\nBig burst tests sent 1024 packets in 32 packets bursts without waiting\nuntil they are processed by the distributor. In case when tests were\nrun with big number of worker threads, it happened that more than\n127 packets were returned from workers and put into cyclic queue.\nThis caused packets to be dropped by the queue, making them impossible\nto be collected later with rte_distributor_returned_pkts() calls.\nHowever the test waited for all packets to be returned infinitely.\n\nThis patch fixes the big burst test by not allowing more than\nqueue capacity packets to be processed at the same time, making\nimpossible to drop any packets.\nIt also cleans up duplicated code in the same test.\n\nBugzilla ID: 612\nFixes: c0de0eb82e40 (\"distributor: switch over to new API\")\nCc: david.hunt@intel.com\nCc: stable@dpdk.org\n\nSigned-off-by: Lukasz Wojciechowski <l.wojciechow@partner.samsung.com>\n---\n app/test/test_distributor.c | 20 +++++++++++---------\n 1 file changed, 11 insertions(+), 9 deletions(-)",
    "diff": "diff --git a/app/test/test_distributor.c b/app/test/test_distributor.c\nindex f4c6229f1..961f326cd 100644\n--- a/app/test/test_distributor.c\n+++ b/app/test/test_distributor.c\n@@ -217,6 +217,8 @@ sanity_test(struct worker_params *wp, struct rte_mempool *p)\n \tclear_packet_count();\n \tstruct rte_mbuf *many_bufs[BIG_BATCH], *return_bufs[BIG_BATCH];\n \tunsigned num_returned = 0;\n+\tunsigned int num_being_processed = 0;\n+\tunsigned int return_buffer_capacity = 127;/* RTE_DISTRIB_RETURNS_MASK */\n \n \t/* flush out any remaining packets */\n \trte_distributor_flush(db);\n@@ -233,16 +235,16 @@ sanity_test(struct worker_params *wp, struct rte_mempool *p)\n \tfor (i = 0; i < BIG_BATCH/BURST; i++) {\n \t\trte_distributor_process(db,\n \t\t\t\t&many_bufs[i*BURST], BURST);\n-\t\tcount = rte_distributor_returned_pkts(db,\n-\t\t\t\t&return_bufs[num_returned],\n-\t\t\t\tBIG_BATCH - num_returned);\n-\t\tnum_returned += count;\n+\t\tnum_being_processed += BURST;\n+\t\tdo {\n+\t\t\tcount = rte_distributor_returned_pkts(db,\n+\t\t\t\t\t&return_bufs[num_returned],\n+\t\t\t\t\tBIG_BATCH - num_returned);\n+\t\t\tnum_being_processed -= count;\n+\t\t\tnum_returned += count;\n+\t\t\trte_distributor_flush(db);\n+\t\t} while (num_being_processed + BURST > return_buffer_capacity);\n \t}\n-\trte_distributor_flush(db);\n-\tcount = rte_distributor_returned_pkts(db,\n-\t\t&return_bufs[num_returned],\n-\t\t\tBIG_BATCH - num_returned);\n-\tnum_returned += count;\n \tretries = 0;\n \tdo {\n \t\trte_distributor_flush(db);\n",
    "prefixes": [
        "v1",
        "1/1"
    ]
}