get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 26299,
    "url": "https://patches.dpdk.org/api/patches/26299/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/20170704045329.24711-16-jerin.jacob@caviumnetworks.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": "<20170704045329.24711-16-jerin.jacob@caviumnetworks.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20170704045329.24711-16-jerin.jacob@caviumnetworks.com",
    "date": "2017-07-04T04:53:10",
    "name": "[dpdk-dev,v3,15/34] app/testeventdev: order: launch lcores",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "6c4d07b3a75757ea0929e34ab6fc929bab412329",
    "submitter": {
        "id": 305,
        "url": "https://patches.dpdk.org/api/people/305/?format=api",
        "name": "Jerin Jacob",
        "email": "jerin.jacob@caviumnetworks.com"
    },
    "delegate": {
        "id": 310,
        "url": "https://patches.dpdk.org/api/users/310/?format=api",
        "username": "jerin",
        "first_name": "Jerin",
        "last_name": "Jacob",
        "email": "jerinj@marvell.com"
    },
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/20170704045329.24711-16-jerin.jacob@caviumnetworks.com/mbox/",
    "series": [],
    "comments": "https://patches.dpdk.org/api/patches/26299/comments/",
    "check": "success",
    "checks": "https://patches.dpdk.org/api/patches/26299/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@dpdk.org",
        "Delivered-To": "patchwork@dpdk.org",
        "Received": [
            "from [92.243.14.124] (localhost [IPv6:::1])\n\tby dpdk.org (Postfix) with ESMTP id 6B9E97CC4;\n\tTue,  4 Jul 2017 06:55:03 +0200 (CEST)",
            "from NAM03-CO1-obe.outbound.protection.outlook.com\n\t(mail-co1nam03on0061.outbound.protection.outlook.com [104.47.40.61])\n\tby dpdk.org (Postfix) with ESMTP id 89CF17CBA\n\tfor <dev@dpdk.org>; Tue,  4 Jul 2017 06:55:00 +0200 (CEST)",
            "from jerin.domain.name (106.200.206.49) by\n\tBLUPR0701MB1714.namprd07.prod.outlook.com (10.163.85.140) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id\n\t15.1.1220.11; Tue, 4 Jul 2017 04:54:55 +0000"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version;\n\tbh=ERxtMwAb8D6nlVlwdqeTk5EsiKDNIqlQjESrC1yo1Y4=;\n\tb=Svb7MMTZygSrQx69kQ5NjpG75Rp4ierbV49++qNOcKA5Jq1QSA21wgBIhe3C5/pAHTGiNyouXfXTim2yEw+Q9HAr22+l9qw1ZybOMFAH9NUhyAUx/PcMenbXYrDQWwIlOrWWtF2IBlsoIUzOyjRsNHhAkCrRTNS2CWI8fEUHHJk=",
        "Authentication-Results": "dpdk.org; dkim=none (message not signed)\n\theader.d=none;dpdk.org; dmarc=none action=none\n\theader.from=caviumnetworks.com;",
        "From": "Jerin Jacob <jerin.jacob@caviumnetworks.com>",
        "To": "dev@dpdk.org",
        "Cc": "harry.van.haaren@intel.com, bruce.richardson@intel.com,\n\themant.agrawal@nxp.com, gage.eads@intel.com, nipun.gupta@nxp.com,\n\tnarender.vangati@intel.com, nikhil.rao@intel.com,\n\tgprathyusha@caviumnetworks.com,\n\tJerin Jacob <jerin.jacob@caviumnetworks.com>",
        "Date": "Tue,  4 Jul 2017 10:23:10 +0530",
        "Message-Id": "<20170704045329.24711-16-jerin.jacob@caviumnetworks.com>",
        "X-Mailer": "git-send-email 2.13.2",
        "In-Reply-To": "<20170704045329.24711-1-jerin.jacob@caviumnetworks.com>",
        "References": "<20170703191402.3638-1-jerin.jacob@caviumnetworks.com>\n\t<20170704045329.24711-1-jerin.jacob@caviumnetworks.com>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain",
        "X-Originating-IP": "[106.200.206.49]",
        "X-ClientProxiedBy": "BM1PR01CA0106.INDPRD01.PROD.OUTLOOK.COM (10.174.208.22) To\n\tBLUPR0701MB1714.namprd07.prod.outlook.com (10.163.85.140)",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-Office365-Filtering-Correlation-Id": "622ceee6-225a-434b-a63a-08d4c298d253",
        "X-Microsoft-Antispam": "UriScan:; BCL:0; PCL:0;\n\tRULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(300000503095)(300135400095)(201703131423075)(201703031133081)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);\n\tSRVR:BLUPR0701MB1714; ",
        "X-Microsoft-Exchange-Diagnostics": [
            "1; BLUPR0701MB1714;\n\t3:FHILZ29ISGfqNC/IgMdnFmJ7Br4bvU/JoI2MQGuo7lUsAecmyBw1PaEtJz2f8S4IbMXNMF3WCKCXsTS+thIiG2NQZheWanL0kVKa5cQi8j6rTGUo0Cn5aGYl/UCiK+h5YMAu9hDwD8Md7TyIuHBHE/dMGmS2DWHsHw3XNoy3PaKP8nDlPkfW+4J8OHLi5fNR99cbbR36ZCjdszLRrzNJwAMnP5zS9Xm9xzUNOhGuioabp7s1kvyXLPYF7WulZydAjpXetMsUMY87fn1dd0zGV/kPYCc5TdgCna/2qTvtRPeOgCq4KEJmM4NbnaDq/MymKZROZh8THaTmkd9XZrqFFm6WLX1JgIHM+YIO2uzIB61g8BsdYTZS0N7b8yV12r5gB6PSQ9YApXLNRojrJhlOsq2l9L8+Mya5Mn9EYfzdsLGy3a0WV5H0psJ8ZByN1Sb0fOgCaGM40LdgsFJEnkVjNIQOzfbSBvJnyMZJuvXF97W+zA6T8dPzCxDdPJ/U76qBVBDwphKGsTZQ0mhKgVmYOz21qKLVvxgPKcujqbTzmmcLwCRBRMEVetSJvxwFTCWlzLPKapQBdg3WYzoqwbcGV2rElyyDG4VQ5t4mRYwD5hu2MRb1l2/5D73PswJWwewhot3oZokcKdQt70+EK64mmZSNEMdW+/j7VUnp6tXoTnjZVXHgJaqlnYXcpklRRTu7cxyi3KDSy1xAyxGqkZLcBazPJwZQRyV6rYuYFJ37FEsZYsNmrAh1bcUtYLKy+yiv",
            "1; BLUPR0701MB1714;\n\t25:xLwk0y6M6Y9iFKURhb77YUnAd979nKDZ3jF4R3aIf/DO/BiuyYIPuyLnwlzb5U5b6tMUebDI90ueSNfTdCr8AMONblemvOmGxmj6RGfqEYUSGnWJeb4bqSDxD8RPT4N3boTLsQLBjo51SW16OL3UMzF1P8qISoIKo47dZfn9VlZwJkdUjb/5PL39RiFtl3S/Ae5l50+gT81be5Bpt5FxWR/RhsU/R8kISPZ/9ruiBBMuGKIw5qzK9FO1054vi5UT6CuBzFxUG7vnb6nzwCIlp9+ZvmUepvh360Pm56VoNygoYAruPtXRJcZ10SL2QczqTXykP6vwpq+c1U4xrL8fgTNx30FEz2UnnrP2FJwuaDlpK83bx9GBcOpVs8qeF64URVOGsXDisD04N0bAs516QPmyW8t6HA0K9RHuLyfNtQuUIn5zyynzr3ZW0qZDBl36TxwHGRxk+8PaTQsdm2LNCutYL2uM3o+etg58Mg9sUY6unvX9QCWT+7ZVw5H34dM9oB39FwTm9qfMXR3DVOlYvS8WUYDBqKQDbizR88W0r6t2Fnz94DlxxCUA4mSFQcXzS4njWTIKdb3ti9CxsmMQ5Y3aOGSqdTj7UfAemYIJY+uVmDfGp/ao9+HseuKY8UFJiQ/IaaId4Fmv3V4ztCtknjXWrVk0zTPbyUH0Ai+pU44EqQ4/8Y90ndgrbAUMaBhTjjwhMHt43xEo9FGWndAC9lyclopZvd1Gdp3RHwg0nj7QqnOlSVWl3QqqstnwjKN0kJYPfxXauPEqxKlHRdwoloFKSbbzED1ViBX9/cfYYSi3Sv45nBIPyF9IMqp0RwcU2eAdgH8FeEeInRvMbSUMd534vkn29io5D0mmYRCamGf46HhHLgMKXIFD4Y7YVBYK4SxqahoZ/3AO6VuY/F6g7IWZu8mN2Bn4mmmPUj2U/44=",
            "1; BLUPR0701MB1714;\n\t31:vyF7vXXUcpNuc50wHkY2TzjX/n/iIo88X6cgP5cLSmguY52u1cSlVtxsQu8BBs5ZUwljlNmXvLmPGURffQDWifJ7N4PWrRYmNJCGE5ZL4b+7/3Mkxi4hif+IsIRVBuRwf4kJuTkgUYWyuSLvnV5zh/8lSd3Cus6h1T0R5BB89COWpkYsZi9YX7K+nnr2NIeIv9aR3j3kfNSlsjGxyEmUuRSZ8SJXI/bbpcnekM7wfQwD+st9D5A1t3I4nMS2SPLEWkEZMFiPVoz96mCyqu6ZobxQwzR2FK9anCZuJt/K4lud8XH8VzkNjmL1BPLpUh/R5LrQNxzHAxFisxrqUKWexf21WN88Eew5m2yCabprCe33X4pz0v8aMZAPbUNGUxm1qS3B5InOciCx4Y4X8W/YzZ7zFKdPMi5luXF1Lorsc7AvwcxypGssoN2Tizsbem9Z8Pv64V90aPByvI4X2HQCCP89bcqoewpY9N2+zGswQHwQpCsgnRPpbOeHXAu81z1LToOiPMZMDzxFyribXVnVuUpuDAyGPQZ2khw7IpuQYqFG8IjG7cycOeNJVuhkXeX1edexw0ol/XRwe8sRYqhEQwDpiYe9D65GD98YehEw82LFHETUfCffSxn9qpS+f0BVI8ZfdRY4tBxTt9SCBgA6W0icZChxBenJMM3zJurKErE=",
            "1; BLUPR0701MB1714;\n\t20:Pn38V/l+5e9WSj+Lbi+XetS6Bma8NmSOhI4F9SFacLWzC4vytGmI7Ow5RdqRb12WjEo9eJgMpw7kPLP168JlG8rNGeyYilVYQ2L3KwvS5YT3zVso+tCH+Iqdp2oOarJQD6B2PCk7/54NwbB3yvH0T7TIawxklDJ0xkKJGRckQ4eSmvLAQJd33tyaDAwkkU7AYoJYlsfr7+Ee3TxyB4Ln9wHOV4hStde+DelT5Vu2fwYf+FGUv9etaUGDQ/ZfypJje8s8oYsPNLEDwvFc1RNIWLqM2iCa6Tg1p7ojvnl+yOpvZAzP+uprpPQtuLLHsEK8ILM6oGT00/QdX5Htm36Q6aQOEeHNBuVJ+TLPpMVpgPQSefzm5xOQThfsatdLwSRdw2QYZWLje1a/3dvbvC5conMiGJeeZ38QoIMd4u+48HgiOXn+thtn+EdzYobQiNpqSHqN9WHM0nqUFfpG0M4AxODgTzjglK1UNrY3LOi+HuayiNdseR0ZZaJUCyq9sDwQMCoPJDqYLIyIC0SIsVt71crb2qM+hqct/NnmI07mogc1NiuwLtN+fJplaHZzhyWiMuOR6OEIzfQ/zoE9Wt3eFwqYv8EM/vdOIHX47axZgSI=",
            "=?us-ascii?Q?1; BLUPR0701MB1714;\n\t4:UbZtcHx/F06O3YDt7PF1u54lAfnXsVi7z5Gqn84A?=\n\tweEJzJ76wKbG1fg3RSuRWTHpizPu+AR6HjsPqkUL+mCSVKqJKHfSJ2jx1AnF83g3jqJS/wmxa+FKSVsLyR2aycXHlHeJgoDvR5AZBo2x9se/FmZIUZwHiXT3jT3MGqSWfoR5D8c6mcWSrtf63rVISdV1dajn4oN1nEZIwQuaKW0gyfYfAynNJCKTAOSaunT8TZ9DlGULqZ/icIN9AWF3L6xzYy1ZqMdI5l/azFMJ7VNEXdRUO5VUNoo78UZF44cFl5QNxe/C+vTOBjd+/gsa+FqM0UGFMzCWc+sXxGr2AZ1BTKn6nDgauZaC6kWVu+Xhv5bCVG4glVwjgQ2mByRsINNiREHWzSMMOScIspNnYcuJSllq2F4Xep10r7KNOplXcy7XNm9D7N547+kQ91LxCbJMIFW4e08NeXY7c83x6WQ+80tvdgiOMXNt1TixDrWBfJ84FJ4X2z9BaychrVMdy9nhOAQ+lOX74tM2tUCG4mweIJF5ndfhGHZ/XTeHA0T7C4sNvOkgLzTSaBx43B15aJWd/nDD0OQTCpTwh/8seeP+CgT/cV4NEmKL3kQ1s8CwiFMCgslwqfD8e8+jypy+koC4HdyenzqyAMTHYPfM+anxEtrszBQIGnd47qrxJd7lIzjh0YtmX0hkery8/jFFWiUf7k+LlJKCeznNuN9SPE3CZekGg1xh1vs+O7gepTFf73r7A/FBrwf3tQX9VBoY2NIGiycctB4cpmEkIvca2kJge/R6BIafxdxJd9l0xF/RzzxeCkBQlkHB7uERIzdASwH6H+zd4b9J3GV/GREdd+I7MRhwr9ftjMuRXIefcONWGSQQmcTM8s5MmjfIK3FUQS+nMBzUJ+kBIk4Le+wr/MAky1GkDnczXSrvlgRZ/LyVWbs/gR9tqJjcK8ZcGUbbxRNssz6q7tZMyfEvWGWizJQKOjW0qLN8NTqGdCR2XCS67gUsWc5LrRdxDlTd/d1MU7hC4lD1yMXCsac6DkK3GdCHYkgUpkIU2cwh/hEdBfyAvlRrmkn7AiZv0c5n4fHpswNcZL+NmVXDcTw09ldTmSMHKRkBr+esE5/lyFdufc7BxU8yK93yKnqux7od8CaFOxiTQ/7N7z+jUOSU6IeutSnwQlC9AySjgJKtgfKxe7l4AJhFSAClY+9upVHjNgiqUztVXSWtglqqLzWwLkv6CAOmUQCinGgci1+YaWNapiXbAR8=",
            "=?us-ascii?Q?1; BLUPR0701MB1714;\n\t23:5dUOpfTmB9pUMH74AQD/JYhKwfwKekOiqQ3B6fJ?=\n\tAviu0HB/NmPw3mHyVTempMAdQ83tMRZ/qDKtmuO4YGQ/oKaeY96g6p10pcGDU42ksO8u33iMIKPlJFsB9wXxbgT3cXIe3MIs6G4x5QPOS6EPk1aWHjTKvJm4gdKfO/M42FqyDdxS78AFIcVg1ab66cPztUcUz9wIzaHKmDiLy6LTUORssuFdgw0xMoyaUfJnVlsQZSD18VyKPdrGINbk2dOP+PBaz3Dq10q4y81ZpPE+yxXEwVSUdIUGKvFgtPKRULxl8R9ziXUuCTCyoX9hlN8vfi8A0UM9uSK+5qYobfSslm5Q69F5hNTLUS96sqvG45s2ZbZfS9WRoAEjX/ZuATNoPGF2KoLyljGRdO6qVKzYdM2aw2HufnS87+FPZnvmS19nSlYkXLry5ZIXVvAQ6oaUfwCUn2v+XmaVf+H+Ub0EticI8arB5hYs/cBf2uiP8yvE7gEzBVkxvUqmpzWfeuYMzhPTQdbYAcFfsc+65Y31AoLosW9c9QoEZ7sfYh9h0uFzI2zMO+rryGpLipo1YbmYvi5Ca8RBE3gCvyAP1sK9bbGrtndOBRHK5IKfj7RDtru/IDus5I40m+Kc6dX1UWihhCdZOzT/6a3hUY702G5u1jexrFBs3u3jwESy0/jaAcRsOUEXLA34PxCG5wOCzM3brCFk/kBXFp/e4serMG2OREEJoknZ2mR4uDCyhhsR0uNVg3UU5YlmE4rbkgEj62FfmNx/tRHXSVFBAMfaGuX06GGjy5YzhEi9FTuUPDX3cAAaW27Fx9VOXvFjs6bxtqxFphgKpxYzKKArNw0m0bhYUsVJ35JiuKOQ2pS0EM1j9wzoJXn8c31TiYAyYFGI/yFRcnLi/o4eLZrEHZ4VJv+vJG3PNtz9WbVLefzXZQ5Vo36D2nsMai9hSYI9QlVzpdNTqVaKV2Xd83HWHsrBfcj1uOiHyGctXCZvkvwTZzNyl8Rrys02Kt6FyTeNMLPwHzCrjfKBkR3rVu9oGcYKpOLewSYWiOB1lDmQQliXsQzf2qwN+aHzXSLKKFysotQQPhcj2kyM2GU5hj0dqo6NWtxGF0fSorZU4sMyfedEUYolxPlraCsXikE1jzZO0aUzXOwYrM1WcvX34eYmjlHFEPSMSXLR9DORYw4bVIYjg4JaKbOPzeaaCsPDMEMVwJDqQD+0O",
            "=?us-ascii?Q?1; BLUPR0701MB1714;\n\t6:q1FrkITFmNKVqch/ysfmqFAX8WQqJrRqGvxt29L4?=\n\t1oPLMlz3GRjcEUibc31b7O0HTx3SWLs2YJ3QaFzmqFB36tYtMgJ7fjS4j7SOYLgnkvNSOt+YtMmGsJhfsDeqYzwLJu0rw2FqwvlkMtac3z76qA0Ogux4Y7deOYJBcNGlLL+L33j8lQviE58vFfoFVdPwSYfOWNiSoGtBqv133sERqretC3mpB29oA6fI90ikxdjwEFbW5oVW7dZ6qRPfFEVHvJMCH8bZmkFyjHjGk25HiJ0UEyDBEwJzz3GZSnT9L91fW5RsXUJyLa5rWnYExL+e97l1C2nz/r1tJoNnIAwXXQWeWv5PtGgLCoJLtVD1/AhrZuQJyi1HoqiW2bGBWLs0Rz01o0IWiUxvzcXgtgFUjtVY3b7bP8LZ73LXRrcrpKqy3O7qz+PKNpcctpj1M8Q15pNh6y8q/bZZBykVagX1cYVZH2FeTKjONEo42hQPySfvI+949w0XntvgdYbtSNEyclW/j4ixiFQQMsDwA7Kg5tK2vKQxLJuNO3j80to1GdOobRhdCGJ83RGvAucDpdsJhGwQpQAFkQH3pLxy9T3VeTRnratoRlieR0vd8o3DmzCzn4604qQY/RiH6hXWY+kTKSmd4vV8fELizMtQ1WIXrejtpsvz70hC+1RrB35l6RZeuh6qf0SX2b+5t1WRJHfM7iZR1lxvDNN5QKIc5sqB05xoMJ6nLooy34W0x57qAi8bWaIkC+auQXrP34JFvBWLu3qz3AwCx7woVFRm0t5R4VhnMnMma60hUg8O3hkjf9XILHktWYy4sERMx9nYL6nDZTCsmNrVpGLTCiv/ya6VKLQnuF5NutAaJEKhy41jMg/5UUWiDaymIGk4wwY7H/1UvB8CHpwRH2XSLeQpOWR+BR9n0lvPuKez8umyg9JeCuayo3EuCUA0mdB/DS0Bf5FgFu7x7N2Ed0BK5WwduQeeA1izX3WSrWrtaO0kMGS1Gv4=",
            "1; BLUPR0701MB1714;\n\t5:IJT1Rcn6H3udaqiN5xPE2gr6hQC17OlqakZ59EOIkxjtiRMIjVFtH4zwuPF8uHvBKo41ZeL+YBqNdzeNLXPpk/MhZwwF3z6U+8tyP3/xGoqiXyFylYW65w6fcnu5wA73++7Dvq7nZhLi4DSkWkDvLt+vn9qysxuHCcxXRb3Ceain3snuwzDv1C/9oengIh4CfEHPsHFndjt4JjpxiRti/M5t1g+hEV1ebjBAV6aWgWoksjJvytuNFlZBVUV2tvgKvVFSRZbA2u3FztNccCrYX7CBm+cyDSk6zQHaavBe/+hMib/lzoxJRLWODqbpBC9K3JchQfuqgYoXP0aaTs4DmK5RxNFmO/ky08NSCeIkGc44EYn+DvwwLRlhhWFDfLw4YzRxcwWTonwHKE/Qmh74FCd2z5wKUTfxIJzVyk/BaDxeN6cdLqxoyUQgoXAc9H02C+5/7n6wtYj68THKHavRmpMlwKXbGGUKwkPIhV1/rwkIlZlZcmMUyz439fYFoBp6;\n\t24:oRy/ZdiLonS2re3lIufDRrVYIuIp9A1TFzjhlgi5RJDZ9Ba2aXjkoFz5tJBYGL4u3SSVKfyxaAqUAmblhJqFVwhcU0zGX5xssQ0xLU2iUTM=",
            "1; BLUPR0701MB1714;\n\t7:mlIo910MsYTmnTiLwXNUZgu5MUszgcqJzfTKRNAT43lGsRYYy/QGL2ahij3xHIN0GT363OGjSRYhuRPURbinDC0Ou9/wHiMJQatDfLblKpJpBjZs8nOuepLFWr5lgOgJ8jtUy+yWvw3/QihITuZjHyaSIORgiZG68IJBIz3FYgI5myWtlshKBR1cOzo89A5rte8tL/5vDe9oMNWZrOXnsWzOoZVJe3B6w3th8M3LuphXnOHTQw1hUqfrKoGrVkptLMm5sWkwht+hFchVR0r9hWSeOZ8RT5VqlDAkv6i8XllF2RYcxegWOw0uso1FluROnqcatsaEEFEV5tnyL+nKQvPspv/bf3tLb3IaJJeiYkRIQtFzPknI0442qGKW09cQs132jKRQgyZa6Gh6Ju1RRzKQb7SMfqZtNL3Zv46H9vCNBlud5E4DGNQvszcGf1VJm1V94bxb2ZSjHcLRP9JLhpEzBaOrSKa9YVVjDfFmrmkChZCxVoxB3m9mVSxlEc0U7DRut73QEsJoQNOnqQK7Wltl5UGPRfdEMbh/6Z3IzZvSJme7bxDn8MEm3EaUTtz+jlXAUzhnprH6njqUOm0ZInra2ljxSmUOrmHgr4UHJtyftuBGAxhHClyjQh3j6hV/9h4djN1oQurBdi6dtnq6n0R2DsdCZzqV3FcOUS4emwb1V4DlCwWmoENmLimt+TFCbHotkpxNflksjqGVd26ucXs5bxotuVPonjDglWKCzfaM7vjU1JdCkjp/TlPlEUto5Z+uviYrkAtlkQKjkVkue8EhvdHJysQOXNhkJkQqH8w="
        ],
        "X-MS-TrafficTypeDiagnostic": "BLUPR0701MB1714:",
        "X-Microsoft-Antispam-PRVS": "<BLUPR0701MB1714D4EE324E4315D76D9DDEE3D70@BLUPR0701MB1714.namprd07.prod.outlook.com>",
        "X-Exchange-Antispam-Report-Test": "UriScan:(236129657087228)(148574349560750)(228905959029699); ",
        "X-Exchange-Antispam-Report-CFA-Test": "BCL:0; PCL:0;\n\tRULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(100000703101)(100105400095)(93006095)(10201501046)(3002001)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123555025)(20161123560025)(20161123564025)(20161123558100)(6072148)(100000704101)(100105200095)(100000705101)(100105500095);\n\tSRVR:BLUPR0701MB1714; BCL:0; PCL:0;\n\tRULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);\n\tSRVR:BLUPR0701MB1714; ",
        "X-Forefront-PRVS": "0358535363",
        "X-Forefront-Antispam-Report": "SFV:NSPM;\n\tSFS:(10009020)(4630300001)(6009001)(39850400002)(39400400002)(39840400002)(39410400002)(39450400003)(4326008)(107886003)(38730400002)(6512007)(42186005)(6486002)(8656002)(6506006)(33646002)(53936002)(25786009)(6116002)(6916009)(1076002)(5003940100001)(3846002)(42882006)(47776003)(2950100002)(478600001)(2906002)(6666003)(66066001)(8676002)(50226002)(48376002)(81166006)(7736002)(110136004)(2361001)(2351001)(5009440100003)(189998001)(5660300001)(305945005)(72206003)(53416004)(50986999)(76176999)(50466002)(36756003);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:BLUPR0701MB1714; H:jerin.domain.name;\n\tFPR:; SPF:None; MLV:sfv; LANG:en; ",
        "SpamDiagnosticOutput": "1:99",
        "SpamDiagnosticMetadata": "NSPM",
        "X-OriginatorOrg": "caviumnetworks.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "04 Jul 2017 04:54:55.6230\n\t(UTC)",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "BLUPR0701MB1714",
        "Subject": "[dpdk-dev] [PATCH v3 15/34] app/testeventdev: order: launch lcores",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<http://dpdk.org/ml/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://dpdk.org/ml/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<http://dpdk.org/ml/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "The event producer and master lcore's test end and\nfailure detection logic are common for the queue and\nall types queue test.Move them as the common function.\n\nSigned-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>\nAcked-by: Harry van Haaren <harry.van.haaren@intel.com>\n---\n app/test-eventdev/test_order_common.c | 116 ++++++++++++++++++++++++++++++++++\n app/test-eventdev/test_order_common.h |   2 +\n 2 files changed, 118 insertions(+)",
    "diff": "diff --git a/app/test-eventdev/test_order_common.c b/app/test-eventdev/test_order_common.c\nindex 01b73bbc7..491480831 100644\n--- a/app/test-eventdev/test_order_common.c\n+++ b/app/test-eventdev/test_order_common.c\n@@ -41,6 +41,57 @@ order_test_result(struct evt_test *test, struct evt_options *opt)\n \treturn t->result;\n }\n \n+static inline int\n+order_producer(void *arg)\n+{\n+\tstruct prod_data *p  = arg;\n+\tstruct test_order *t = p->t;\n+\tstruct evt_options *opt = t->opt;\n+\tconst uint8_t dev_id = p->dev_id;\n+\tconst uint8_t port = p->port_id;\n+\tstruct rte_mempool *pool = t->pool;\n+\tconst uint64_t nb_pkts = t->nb_pkts;\n+\tuint32_t *producer_flow_seq = t->producer_flow_seq;\n+\tconst uint32_t nb_flows = t->nb_flows;\n+\tuint64_t count = 0;\n+\tstruct rte_mbuf *m;\n+\tstruct rte_event ev;\n+\n+\tif (opt->verbose_level > 1)\n+\t\tprintf(\"%s(): lcore %d dev_id %d port=%d queue=%d\\n\",\n+\t\t\t __func__, rte_lcore_id(), dev_id, port, p->queue_id);\n+\n+\tev.event = 0;\n+\tev.op = RTE_EVENT_OP_NEW;\n+\tev.queue_id = p->queue_id;\n+\tev.sched_type = RTE_SCHED_TYPE_ORDERED;\n+\tev.priority = RTE_EVENT_DEV_PRIORITY_NORMAL;\n+\tev.event_type =  RTE_EVENT_TYPE_CPU;\n+\tev.sub_event_type = 0; /* stage 0 */\n+\n+\twhile (count < nb_pkts && t->err == false) {\n+\t\tm = rte_pktmbuf_alloc(pool);\n+\t\tif (m == NULL)\n+\t\t\tcontinue;\n+\n+\t\tconst uint32_t flow = (uintptr_t)m % nb_flows;\n+\t\t/* Maintain seq number per flow */\n+\t\tm->seqn = producer_flow_seq[flow]++;\n+\n+\t\tev.flow_id = flow;\n+\t\tev.mbuf = m;\n+\n+\t\twhile (rte_event_enqueue_burst(dev_id, port, &ev, 1) != 1) {\n+\t\t\tif (t->err)\n+\t\t\t\tbreak;\n+\t\t\trte_pause();\n+\t\t}\n+\n+\t\tcount++;\n+\t}\n+\treturn 0;\n+}\n+\n int\n order_opt_check(struct evt_options *opt)\n {\n@@ -207,6 +258,71 @@ order_opt_dump(struct evt_options *opt)\n }\n \n int\n+order_launch_lcores(struct evt_test *test, struct evt_options *opt,\n+\t\t\tint (*worker)(void *))\n+{\n+\tint ret, lcore_id;\n+\tstruct test_order *t = evt_test_priv(test);\n+\n+\tint wkr_idx = 0;\n+\t/* launch workers */\n+\tRTE_LCORE_FOREACH_SLAVE(lcore_id) {\n+\t\tif (!(opt->wlcores[lcore_id]))\n+\t\t\tcontinue;\n+\n+\t\tret = rte_eal_remote_launch(worker, &t->worker[wkr_idx],\n+\t\t\t\t\t lcore_id);\n+\t\tif (ret) {\n+\t\t\tevt_err(\"failed to launch worker %d\", lcore_id);\n+\t\t\treturn ret;\n+\t\t}\n+\t\twkr_idx++;\n+\t}\n+\n+\t/* launch producer */\n+\tint plcore = evt_get_first_active_lcore(opt->plcores);\n+\n+\tret = rte_eal_remote_launch(order_producer, &t->prod, plcore);\n+\tif (ret) {\n+\t\tevt_err(\"failed to launch order_producer %d\", plcore);\n+\t\treturn ret;\n+\t}\n+\n+\tuint64_t cycles = rte_get_timer_cycles();\n+\tint64_t old_remaining  = -1;\n+\n+\twhile (t->err == false) {\n+\n+\t\trte_event_schedule(opt->dev_id);\n+\n+\t\tuint64_t new_cycles = rte_get_timer_cycles();\n+\t\tint64_t remaining = rte_atomic64_read(&t->outstand_pkts);\n+\n+\t\tif (remaining <= 0) {\n+\t\t\tt->result = EVT_TEST_SUCCESS;\n+\t\t\tbreak;\n+\t\t}\n+\n+\t\tif (new_cycles - cycles > rte_get_timer_hz() * 1) {\n+\t\t\tprintf(CLGRN\"\\r%\"PRId64\"\"CLNRM, remaining);\n+\t\t\tfflush(stdout);\n+\t\t\tif (old_remaining == remaining) {\n+\t\t\t\trte_event_dev_dump(opt->dev_id, stdout);\n+\t\t\t\tevt_err(\"No schedules for seconds, deadlock\");\n+\t\t\t\tt->err = true;\n+\t\t\t\trte_smp_wmb();\n+\t\t\t\tbreak;\n+\t\t\t}\n+\t\t\told_remaining = remaining;\n+\t\t\tcycles = new_cycles;\n+\t\t}\n+\t}\n+\tprintf(\"\\r\");\n+\n+\treturn 0;\n+}\n+\n+int\n order_event_dev_port_setup(struct evt_test *test, struct evt_options *opt,\n \t\t\t\tuint8_t nb_workers, uint8_t nb_queues)\n {\ndiff --git a/app/test-eventdev/test_order_common.h b/app/test-eventdev/test_order_common.h\nindex 165931860..a760b94bd 100644\n--- a/app/test-eventdev/test_order_common.h\n+++ b/app/test-eventdev/test_order_common.h\n@@ -94,6 +94,8 @@ int order_test_result(struct evt_test *test, struct evt_options *opt);\n int order_opt_check(struct evt_options *opt);\n int order_test_setup(struct evt_test *test, struct evt_options *opt);\n int order_mempool_setup(struct evt_test *test, struct evt_options *opt);\n+int order_launch_lcores(struct evt_test *test, struct evt_options *opt,\n+\t\t\tint (*worker)(void *));\n int order_event_dev_port_setup(struct evt_test *test, struct evt_options *opt,\n \t\t\t\tuint8_t nb_workers, uint8_t nb_queues);\n void order_test_destroy(struct evt_test *test, struct evt_options *opt);\n",
    "prefixes": [
        "dpdk-dev",
        "v3",
        "15/34"
    ]
}