get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 80231,
    "url": "http://patches.dpdk.org/api/patches/80231/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20201009220202.20834-3-l.wojciechow@partner.samsung.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": "<20201009220202.20834-3-l.wojciechow@partner.samsung.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20201009220202.20834-3-l.wojciechow@partner.samsung.com",
    "date": "2020-10-09T22:01:49",
    "name": "[v6,02/15] distributor: fix handshake deadlock",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "b47abfc59baed0a3b46f3e62091d52e7033366c6",
    "submitter": {
        "id": 1628,
        "url": "http://patches.dpdk.org/api/people/1628/?format=api",
        "name": "Lukasz Wojciechowski",
        "email": "l.wojciechow@partner.samsung.com"
    },
    "delegate": {
        "id": 24651,
        "url": "http://patches.dpdk.org/api/users/24651/?format=api",
        "username": "dmarchand",
        "first_name": "David",
        "last_name": "Marchand",
        "email": "david.marchand@redhat.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/20201009220202.20834-3-l.wojciechow@partner.samsung.com/mbox/",
    "series": [
        {
            "id": 12840,
            "url": "http://patches.dpdk.org/api/series/12840/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=12840",
            "date": "2020-10-09T22:01:47",
            "name": "fix distributor synchronization issues",
            "version": 6,
            "mbox": "http://patches.dpdk.org/series/12840/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/80231/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/80231/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 dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 3EEDBA04BC;\n\tSat, 10 Oct 2020 00:03:13 +0200 (CEST)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id D413F1D5FC;\n\tSat, 10 Oct 2020 00:02:51 +0200 (CEST)",
            "from mailout2.w1.samsung.com (mailout2.w1.samsung.com\n [210.118.77.12]) by dpdk.org (Postfix) with ESMTP id 5CBC81D5C8\n for <dev@dpdk.org>; Sat, 10 Oct 2020 00:02:48 +0200 (CEST)",
            "from eucas1p1.samsung.com (unknown [182.198.249.206])\n by mailout2.w1.samsung.com (KnoxPortal) with ESMTP id\n 20201009220237euoutp02e8aa7bb4fb6aa372cfc004f0e232dd70~8cgqS4tli1685816858euoutp02m\n for <dev@dpdk.org>; Fri,  9 Oct 2020 22:02:37 +0000 (GMT)",
            "from eusmges2new.samsung.com (unknown [203.254.199.244]) by\n eucas1p1.samsung.com (KnoxPortal) with ESMTP id\n 20201009220231eucas1p15ab66d078308bacac156bc2b8f0f3c90~8cglFagMQ1023910239eucas1p1b;\n Fri,  9 Oct 2020 22:02:31 +0000 (GMT)",
            "from eucas1p2.samsung.com ( [182.198.249.207]) by\n eusmges2new.samsung.com (EUCPMTA) with SMTP id 33.88.05997.7FDD08F5; Fri,  9\n Oct 2020 23:02:31 +0100 (BST)",
            "from eusmtrp2.samsung.com (unknown [182.198.249.139]) by\n eucas1p2.samsung.com (KnoxPortal) with ESMTPA id\n 20201009220231eucas1p217c48d880aaa7f15e4351f92eede01b6~8cgktOpNq1926719267eucas1p2h;\n Fri,  9 Oct 2020 22:02:31 +0000 (GMT)",
            "from eusmgms1.samsung.com (unknown [182.198.249.179]) by\n eusmtrp2.samsung.com (KnoxPortal) with ESMTP id\n 20201009220231eusmtrp2bfc2d7a6b92eff2947f2c304e0352c9c~8cgkspy0B1642116421eusmtrp2X;\n Fri,  9 Oct 2020 22:02:31 +0000 (GMT)",
            "from eusmtip1.samsung.com ( [203.254.199.221]) by\n eusmgms1.samsung.com (EUCPMTA) with SMTP id 72.E2.06314.7FDD08F5; Fri,  9\n Oct 2020 23:02:31 +0100 (BST)",
            "from Padamandas.fritz.box (unknown [106.210.88.70]) by\n eusmtip1.samsung.com (KnoxPortal) with ESMTPA id\n 20201009220230eusmtip1c8faceecd183e000f66feff7d0c691d0~8cgjrYEHl1990219902eusmtip1E;\n Fri,  9 Oct 2020 22:02:29 +0000 (GMT)"
        ],
        "DKIM-Filter": "OpenDKIM Filter v2.11.0 mailout2.w1.samsung.com\n 20201009220237euoutp02e8aa7bb4fb6aa372cfc004f0e232dd70~8cgqS4tli1685816858euoutp02m",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com;\n s=mail20170921; t=1602280957;\n bh=vuwpOk5DYAg8nrtQAkN6Jx3ymyd0V4eE98pnCakaiTY=;\n h=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n b=PWhhMG/J3EZSl1/5H8bhgh9ppxiXxn9Ug+fqOh6bI9gSZ7VygKEtPWsOIMZKNMN+v\n q1YwX4TJqtPgCMLnlEofG5LunVFrgi/isqYRAr3qKTwOQnKmAyDKWw6TfBVlxjvvgD\n xNAf4Me5lTuDmtzI9uyF6jJa/q0UCKW2Gb8LPeiU=",
        "X-AuditID": "cbfec7f4-677ff7000000176d-f1-5f80ddf746c9",
        "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": "Sat, 10 Oct 2020 00:01:49 +0200",
        "Message-Id": "<20201009220202.20834-3-l.wojciechow@partner.samsung.com>",
        "X-Mailer": "git-send-email 2.17.1",
        "In-Reply-To": "<20201009220202.20834-1-l.wojciechow@partner.samsung.com>",
        "X-Brightmail-Tracker": [
            "\n H4sIAAAAAAAAA+NgFnrOIsWRmVeSWpSXmKPExsWy7djP87rf7zbEG+zoUbS4screom/SRyaL\n d5+2M1k861nHaPGv4w+7A6vHrwVLWT0W73nJ5HHw3R6mAOYoLpuU1JzMstQifbsEroy9U+Yy\n FhwRrLj88ihjA+Mhvi5GTg4JAROJ2Y37WboYuTiEBFYwSkxYeJ8ZwvnCKPHg6HdWCOczo8Tt\n CfeYYFqmr34L1bKcUeLVjB1QVZ8YJbouTGQDqWITsJU4MvMrK4gtIhAm0dy8F6iDg4NZwFni\n yVewEmGgkpMXZrGA2CwCqhITe/4ygti8Aq4SLX9PskIsk5dYveEAM4jNKeAm0bprGdhiCYHr\n bBLbXixnhChykfj99QI7hC0s8er4FihbRuL/zvlMEA3bGCWu/v7JCOHsZ5S43rsCqspa4vC/\n 32wQ12lKrN+lD2JKCDhK3O+QgDD5JG68FQQpZgYyJ22bzgwR5pXoaBOCmKEn8bRnKiPM1j9r\n n7BA2B4SW85uYoIEz1VGiY1dl1kmMMrPQti1gJFxFaN4amlxbnpqsVFearlecWJucWleul5y\n fu4mRmD0n/53/MsOxl1/kg4xCnAwKvHwNiQ3xAuxJpYVV+YeYpTgYFYS4XU6ezpOiDclsbIq\n tSg/vqg0J7X4EKM0B4uSOK/xopexQgLpiSWp2ampBalFMFkmDk6pBsaoJYeDD8sLi1RlHk9g\n XcQYeC5L5WSIsNKUdTqJEabqHwXWvW80PO6yfPOF+RcEpnZN3uf2dom4493aYwYPezNfiHku\n n3V3jWCMcc2EerdlWQnFEy/tD2RXeae8TfHKLe4/Ae0JOffnpGX53Sxw9jh5ycDLcWrLz6Lr\n 3fdapzNd2/1u2vIX5SxKLMUZiYZazEXFiQA0+ww2+gIAAA==",
            "\n H4sIAAAAAAAAA+NgFjrBLMWRmVeSWpSXmKPExsVy+t/xu7rf7zbEG+w8wWpxY5W9Rd+kj0wW\n 7z5tZ7J41rOO0eJfxx92B1aPXwuWsnos3vOSyePguz1MAcxRejZF+aUlqQoZ+cUltkrRhhZG\n eoaWFnpGJpZ6hsbmsVZGpkr6djYpqTmZZalF+nYJehl7p8xlLDgiWHH55VHGBsZDfF2MnBwS\n AiYS01e/Zeli5OIQEljKKPHt8AL2LkYOoISMxIdLAhA1whJ/rnWxQdR8YJTo23+dHSTBJmAr\n cWTmV1aQehGBMIkTK/1BwswC7hJbFk9lBrGFgUpOXpjFAmKzCKhKTOz5ywhi8wq4SrT8PckK\n MV9eYvWGA2D1nAJuEq27lkHd08goseXAS+YJjHwLGBlWMYqklhbnpucWG+oVJ+YWl+al6yXn\n 525iBIbitmM/N+9gvLQx+BCjAAejEg+vRmJDvBBrYllxZe4hRgkOZiURXqezp+OEeFMSK6tS\n i/Lji0pzUosPMZoCXTWRWUo0OR8YJ3kl8YamhuYWlobmxubGZhZK4rwdAgdjhATSE0tSs1NT\n C1KLYPqYODilGhjTWda1Oc5TMm7/cCggZdLZpBrDqPXM9pdUpqZFCFtduf4ot8j5xYEdJXd+\n /JqYvPfsWc57Nwzv37ol63Bm6rmFEw95dHZ5qyyYqutx+Qv3PxbBvHmhl7WrOlS0tiw18E9q\n XyJ1k7PIV1Rwid5OO9nG639ZGYyldm946LV4/nvxq7yHY6oWWS5TYinOSDTUYi4qTgQAPQxj\n rVsCAAA="
        ],
        "X-CMS-MailID": "20201009220231eucas1p217c48d880aaa7f15e4351f92eede01b6",
        "X-Msg-Generator": "CA",
        "Content-Type": "text/plain; charset=\"utf-8\"",
        "X-RootMTR": "20201009220231eucas1p217c48d880aaa7f15e4351f92eede01b6",
        "X-EPHeader": "CA",
        "CMS-TYPE": "201P",
        "X-CMS-RootMailID": "20201009220231eucas1p217c48d880aaa7f15e4351f92eede01b6",
        "References": "<20201008052323.11547-1-l.wojciechow@partner.samsung.com>\n <20201009220202.20834-1-l.wojciechow@partner.samsung.com>\n <CGME20201009220231eucas1p217c48d880aaa7f15e4351f92eede01b6@eucas1p2.samsung.com>",
        "Subject": "[dpdk-dev] [PATCH v6 02/15] distributor: fix handshake deadlock",
        "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 <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": "Synchronization of data exchange between distributor and worker cores\nis based on 2 handshakes: retptr64 for returning mbufs from workers\nto distributor and bufptr64 for passing mbufs to workers.\n\nWithout proper order of verifying those 2 handshakes a deadlock may\noccur. This can happen when worker core wants to return back mbufs\nand waits for retptr handshake to be cleared while distributor core\nwaits for bufptr to send mbufs to worker.\n\nThis can happen as worker core first returns mbufs to distributor\nand later gets new mbufs, while distributor first releases mbufs\nto worker and later handle returning packets.\n\nThis patch fixes possibility of the deadlock by always taking care\nof returning packets first on the distributor side and handling\npackets while waiting to release new.\n\nFixes: 775003ad2f96 (\"distributor: add new burst-capable library\")\nCc: david.hunt@intel.com\nCc: stable@dpdk.org\n\nSigned-off-by: Lukasz Wojciechowski <l.wojciechow@partner.samsung.com>\nAcked-by: David Hunt <david.hunt@intel.com>\n---\n lib/librte_distributor/rte_distributor.c | 9 ++++++---\n 1 file changed, 6 insertions(+), 3 deletions(-)",
    "diff": "diff --git a/lib/librte_distributor/rte_distributor.c b/lib/librte_distributor/rte_distributor.c\nindex 89493c331..12b3db33c 100644\n--- a/lib/librte_distributor/rte_distributor.c\n+++ b/lib/librte_distributor/rte_distributor.c\n@@ -321,12 +321,14 @@ release(struct rte_distributor *d, unsigned int wkr)\n \tstruct rte_distributor_buffer *buf = &(d->bufs[wkr]);\n \tunsigned int i;\n \n+\thandle_returns(d, wkr);\n+\n \t/* Sync with worker on GET_BUF flag */\n \twhile (!(__atomic_load_n(&(d->bufs[wkr].bufptr64[0]), __ATOMIC_ACQUIRE)\n-\t\t& RTE_DISTRIB_GET_BUF))\n+\t\t& RTE_DISTRIB_GET_BUF)) {\n+\t\thandle_returns(d, wkr);\n \t\trte_pause();\n-\n-\thandle_returns(d, wkr);\n+\t}\n \n \tbuf->count = 0;\n \n@@ -376,6 +378,7 @@ rte_distributor_process(struct rte_distributor *d,\n \t\t/* Flush out all non-full cache-lines to workers. */\n \t\tfor (wid = 0 ; wid < d->num_workers; wid++) {\n \t\t\t/* Sync with worker on GET_BUF flag. */\n+\t\t\thandle_returns(d, wid);\n \t\t\tif (__atomic_load_n(&(d->bufs[wid].bufptr64[0]),\n \t\t\t\t__ATOMIC_ACQUIRE) & RTE_DISTRIB_GET_BUF) {\n \t\t\t\trelease(d, wid);\n",
    "prefixes": [
        "v6",
        "02/15"
    ]
}