get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 27082,
    "url": "http://patches.dpdk.org/api/patches/27082/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20170720134759.4680-2-santosh.shukla@caviumnetworks.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": "<20170720134759.4680-2-santosh.shukla@caviumnetworks.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20170720134759.4680-2-santosh.shukla@caviumnetworks.com",
    "date": "2017-07-20T13:47:54",
    "name": "[dpdk-dev,v3,1/6] mempool: fix flags data type",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "9c1ce1aea10b631e4a1506053c0540c47cac49c8",
    "submitter": {
        "id": 480,
        "url": "http://patches.dpdk.org/api/people/480/?format=api",
        "name": "Santosh Shukla",
        "email": "santosh.shukla@caviumnetworks.com"
    },
    "delegate": null,
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/20170720134759.4680-2-santosh.shukla@caviumnetworks.com/mbox/",
    "series": [],
    "comments": "http://patches.dpdk.org/api/patches/27082/comments/",
    "check": "fail",
    "checks": "http://patches.dpdk.org/api/patches/27082/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 592385699;\n\tThu, 20 Jul 2017 15:49:03 +0200 (CEST)",
            "from NAM02-SN1-obe.outbound.protection.outlook.com\n\t(mail-sn1nam02on0086.outbound.protection.outlook.com [104.47.36.86])\n\tby dpdk.org (Postfix) with ESMTP id DB8532C50\n\tfor <dev@dpdk.org>; Thu, 20 Jul 2017 15:48:58 +0200 (CEST)",
            "from localhost.localdomain (14.140.2.178) by\n\tCY4PR07MB3095.namprd07.prod.outlook.com (10.172.115.9) with Microsoft\n\tSMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id\n\t15.1.1261.13; Thu, 20 Jul 2017 13:48:53 +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=F10cS70z6cYQGeuJ0VFK6DVJ1xTgDafVFIjUrOeUuJo=;\n\tb=GGStG1UZm91MEcYjvmXnbsYiKZNq/GZWBkHhkoCVflYk0qt2S2FhcbKFyff0WjL2XFM//zXtUR7hjimXDZ0YNGXoeTrQVnRv2xm0moL97R0Nfs45KnwJxXDIcBkZmMzz0SSXS/sYK2/uHh7lqpuOs4LaFFK9+tMqC4KHfwIJoOo=",
        "Authentication-Results": "monjalon.net; dkim=none (message not signed)\n\theader.d=none;monjalon.net; dmarc=none action=none\n\theader.from=caviumnetworks.com;",
        "From": "Santosh Shukla <santosh.shukla@caviumnetworks.com>",
        "To": "thomas@monjalon.net,\n\tdev@dpdk.org,\n\tolivier.matz@6wind.com",
        "Cc": "jerin.jacob@caviumnetworks.com, hemant.agrawal@nxp.com,\n\tSantosh Shukla <santosh.shukla@caviumnetworks.com>,\n\tWenfeng Liu <liuwf@arraynetworks.com.cn>,\n\tLazaros Koromilas <l@nofutznetworks.com>",
        "Date": "Thu, 20 Jul 2017 19:17:54 +0530",
        "Message-Id": "<20170720134759.4680-2-santosh.shukla@caviumnetworks.com>",
        "X-Mailer": "git-send-email 2.11.0",
        "In-Reply-To": "<20170720134759.4680-1-santosh.shukla@caviumnetworks.com>",
        "References": "<20170713093255.13986-1-santosh.shukla@caviumnetworks.com>\n\t<20170720134759.4680-1-santosh.shukla@caviumnetworks.com>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain",
        "X-Originating-IP": "[14.140.2.178]",
        "X-ClientProxiedBy": "MA1PR01CA0115.INDPRD01.PROD.OUTLOOK.COM (10.174.56.159) To\n\tCY4PR07MB3095.namprd07.prod.outlook.com (10.172.115.9)",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-Office365-Filtering-Correlation-Id": "8fabff7e-e08b-41f7-d976-08d4cf761167",
        "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:CY4PR07MB3095; ",
        "X-Microsoft-Exchange-Diagnostics": [
            "1; CY4PR07MB3095;\n\t3:oI91+AnudIUIYadCsudjCHtTmhcy4XEJbis44cNcXY8lbLaq1d6Qd3s4h3mD43LU/ysSoYlztGIlhoxwNvfDm5u/HD1Z6GbRvAtmhJHVwJt3gsEi9ix7bvaVvSMfZex1gcLt+H4El8k2BEp+FzOFspSq33Pr5MAn1XlXGgoKVZdZd/c+2KpsEqv4z2F423dF9470prKpV3o+PmpdxZZYESzyBtOyjOlHsH+KshLS5XNKV0JfCq9saiNV1sCSS4BhVet7o1pmceFP9HrrHGMUE7FKFINjetd1OauR1Mwdf/SKKZ4BcYpY8R9zvKfAYnB7Jqlq/K5TrsIipathI6PhcPZ9V50kKK/O/TGp8Xs2xUnr05zgVE+4qFzDWaI6UtAcekBniCHW2ldLsHk0bsW6k6V5EXZJxT9D3/4iXR7E1QMh7Xix9RdYTNCCfiW+qsw3JUEY2tIYk/Z1JJUYqg8SnGAQkPE13RnlZkonNAAz7GEz11kP4qqxk/1Dpy9bZqT5KOaMepMhEDZqRpPJLXKj9Y3vub5aV3BuoixeTcV5PJhI77tac63Yoj5a7JlsKLptt12iOWm13xwcxyBvb4tJJ9MuWcz+Y48oXaRL0CF6RDHO1lg+xs2d+Lp9rloVjYsrVmhZFL+6fuhxzCmuOcmte6xt4Wc4x95prK2WkFTWK6WkR90Tf736c/XYl3r1cVdJm0FaN3ldtlMhUSt54mpzlBIdMDcLTdR7Rt9NKtyJm1g=",
            "1; CY4PR07MB3095;\n\t25:aZYRPTwxoQwUwG7oAVUtT6PG+TN9FD9OehQT6lL8sTNJZlK56r1Pic8cyPmRxbJ0a9feak0APBE28XcqxsI4vIJ6bGqw0IrIuaZAFOgRFaK6r3/3K78vYnilXmqad2dHrggygs5D4LcGguNhbq0plgmOmigD5iPmhCja5GZTWNWEZeQX08HUaz29oFukfzByKWa3/Y5dEy1Ocm/L7IGz9oEYXgUvVs5FiJhDlb7XeT0/jzRKC7pZ/jGix0YeW0+Lh2CyE4kndlvEuakkIIwJyySPHFGbRQd0HZXgvjG0z2waXG9fegGCouw0AzjlaQx36I5G/1JJNwMZ9SqyelxmDkBPOFivr045caJ62zhuQIvR0ye2TBhOgYE1vvpq86aLhSuI9OO1FMucvHIfgZS1MNmNtrSeK8aOVfUX0DOEHdSKFthJ3gw6GdjjlsGFLUN32eUzgX9xjw86jxvGfhvSagCZzjOm9SoWGRzKCclOgMJdodmqfp3JXr3ZXcX8Bs9GM5Zk7o6s+SopOU4kBnjvKh0hYYUAzxOX/oGeJ2PTmOnCAD/kUn5H1/HUdm/tEJWkTxliWOuJaiF2KmLox+sQ1D+OkDUwHmNxk63+qbipA4SCRnL1080FFHdRbmgSlggDM+kd0TUfrTDaStMs1lFk/Z1hQMsX4Kz4pJBIzCBHpYtLYcSoaT9pU2ZDIPsEg8ptt8t/IdntbNeugds8OVdQ7nu1+fCSLqqH+9pUowQAhk38MR2sUtX5nTNyPY0bRVcsWaNlx/vBLTSsAK3cGoGvnjnma0zgMYrkhRTha/tRR6zmJQBCZUonvRxo590rNd292dcgdjohDXXedepnUg6u4cpFMj4kxVG3W6Ez5NJcyAyP3g4xC05YBCHI+ZVCUm4WqFlbbtJHuP1qfJmPuLt7B9R/OY5F211hz3rFO0MFcg4=",
            "1; CY4PR07MB3095;\n\t31:f6DO+0+uClyNuyADHzlB3Fjf7MwtWv0ZWfUc+YdxoH8qGUUI4xsit7KRXcCfdOGzunT67xrCxhGONxfIYTPmWcnbk8OvgH4VvrhwSQFeLBpalm291l94ducFDnpM6z+Ieq9QwDU5Czjt+2fmPvRqaAs0Dk8rrwZAgJ41E9vPGTl+SezVXbzfiSYJhpHzn5TRIgM80F9vjJstVZbkr25k7quk6NPfio1iCx5C6ob4xFm8675/5OENBW9PsVa9RKuSpbsWo01Eubd482Efo/t/dTrzHDHvfIocI41TGPe0l2+j0rG/KTw+G2oAWvDVghLV1onZS5YR4e9hviaqDczLmATmQWL14vwZwGC2cg61xh0PF04MyAeg6X9HN6+E3INwtML/ph8K3fEGBN02LQFqk0FsQyW8FIXWOn3CH3GaTAsRLhrcRLyDxciddRMvJxdNQkWIJBs5fFLqPB/xi3qu7FpXEp5jcdH3gxMODxhEFqcMPXJyLwpokALswAc0WPNQLj4zZp9E+mBvZ5bEjcDlK75prSdy3Ui/fEN/bufuHkz5+4IzK98DKXAp0Nm1H4hugAPRA6B5nMIVYJPy3yQv0hwvkZODQNrnyhcsMekOIkRNLqdFakaryWm98YtT+6SH6kdnKfaDAhR2lZRSQpUH7mlp146b4b821tOi/j23DCs=",
            "1; CY4PR07MB3095;\n\t20:+B9cQNLNlFpZ8zCKWtXDBxOPo4ABnjX2LZGtGUZoepLLhnx/I4I80KnvywkjuBjqhMHQb6+YeF2wtmustflMpi/AnzrTRfqxKpJd6t6imUu0AP2t5utJ/L2QLWlpcAuTHyI/ft2Tx6WoI3TWjUqRkD7y6TLq5Ix2RMiclCSEpyTZ5wK3nWWQEbRczBNoglc8b6Ip57ccKpQFhyS7iKnInI67iHLsq900vwPEwQhaMH454KFteB0MuCeXfgXygR0wFujSl4En6zoZSqFOZ5Y0ET9cZSBQ+qXx8TVvGDAVA/EoyLXvCKSzFbIv/YqI0RJmK4dW870zZ/E6KywWHqlZ/Eycr/GBjBeVI3Dr5NEH3CIRxV2ct7QUZQmte7KIn27VPXYfjeCGlKgJjbXueh+wC1aJbQBd6bFMl9OKecqdKkppVyXB60+5xIu32Y9P1/AtlowJ3rI5BdgKWNolK5Ejhe6r2uhYmwBTUqP6kNNlf0SSOzJkj9E7xN8na0ktWKybTi6+9e7xDFSUiA6PeQCS//JcXmKC0ZAqvebmEsy3jziOyO6Xe7oTDY7GBosvPZnYW3/3cTsZAIu8iKKFu3SBqSFO/aXRnlpg06haLEXHhv8=",
            "=?us-ascii?Q?1; CY4PR07MB3095;\n\t4:ohV0Q2m/sPUUuXL9vN7oNcw1gxaZBFE60dMmVvP0bq?=\n\t2z1qfRY8Ve4Lak0zAXnCRqa4ej8nKouxrVBeuDi9cszPKN0Iv7MQVd8Sd+VqnV/Z9c4AgOA4adS2EpvTQ0qdS/Iz+nzTGN81sWdY0AvRnpv+dLetwVPq4HB4+LkYZ2vatyDO2k/oe5Mx12gkMdNjdWMB1Lb/bd2XR/WrxJT9Xb56b/ZMjM7J4G/MYrKik1sQ28O4UA9NIb5NBNv+ccfPjsd0QUmFeT5Fnl8Ke9ik6aONgYB/0KRl+K5B0tIOFf18coJzP3i+81U7Tyb48NVDIzrL9T1D0D500AYr00I4XiSZFUHdU0aujVdTwukZPARkiZzC5fSqeBsMXctcy9pkFX78kw/6/5aOJitamr6QWBXQz428PRoCWX80wVPLffSOUcdS1gTNPnmOatCCJS7ropStph+4iE5iifhaIn5HbWJIFuF4VkGcdbc7+gsSfW3u7PtK2rS0tsCUwuTtOl4MUyJ6oyCVsNMRjzQ7HdBy4+shhOhAGxySsihtJ7EP3r1McDyf0QDnlGuNce6Zlc+pG/FjE1LXB9VTHs43KUIDKbvz+A8d/Y+U73JTQlqVKh7y3o1H/duUMYK0fGmTsrNcPREl3wQdr0tG0OPtmVZSgUdl4blkEt4SF2vDRbkyd/P0FoMoSKap9eXp6sbrHeCc2T03vFGkBOf7vZE7Be9q3Rh//Gol1WYuTJfJB1RH0nGvxFqgztrTpaZV4670l49l4+rog6OS0+5iheHD+JCtZUY7b4l084LORcYKGkem+oFXx05kEid95kaxd4PZFMvukXM+3nJQmZNIUpUu4hV/REGrV5p+uWjIEPq4OqAadzYzgj1qfUQnWauHBMEQY5Gh18TJdxvqngn0jdSO48F6BQ2RWWvMzBAc2oYj7UGQ1Ts/xFLy78p92oEQn1FcUz/qHNXc7kvfP9QO5/lzHmiZNALkY0eQvD1brJGhfz3KBwlQUgWBYijO47hAGNAT2UTkuljkvZ0BkSH/WG8jARf8d8S4re7E5eVKo4Z/QKx/VWVxxxUou1vd5D+6mE5j3dvOoB61tsyoOU1s8ecvWhhWykM9BAq/FVd4LGim+fGgxbStFySkO0eUV4DJxvoNzR34G/Gcsb1rw+Pc9JSL9s7tkje3jzW9xotgPC5xj8HkioMALN5ehAhOnFQiAPuDw/3khT",
            "=?us-ascii?Q?1; CY4PR07MB3095;\n\t23:0PE7HnpekRy/Li2Zzi+rPoyBegr78zgqMVC2NgfRT?=\n\ty3MR40wPp0FZWKiuqLY7heDbtkQ7pnyEJaqqDdLvfusYI8yuFbmawnqJ2hse+tUs5c6DfEsA2yGyXf37cYn1tcg9PmEYIkkV5jynqfOhsWvjjXgPA2SFnQu5hXJTrBEwNDi7muoW20S9848tO+cJxTIWt0Im8t0IiKNIXCfPvcjS6OGRi2jtiAHoyzQFcNUziKIetcpHhDcJ8lSMRutY/+0UIVvfYay4UbDhV49dp9/GZ0/QtwHBNO+fRx76RiaI5f11QZNxXNacRIQ6yVgdvKujJLQo8TdGcrq9DJtzJnYa2NIYmjTGVsAmbUB70U3MuLUYlvC2jFj26jCPhLW6HHYqovuKagrx7SFjrR54voRdh0Ga+nzlrAnS+cMy4OmGeyxTFUruMlvldXNdMb5V/CTTblj4wv9ic64cQ7RaZGo7ps2vaWkM6jpEo1YxQJWCCEeyRjwJX7hROdwD1ZIP/PfMqpLbTRXhIr+Kn9Tg+YX3tVOZMJHySYM6ivmfIFGesqlvUzG2azMFVWEYGN6z5Hb6kLcjPIMS5u1eGw3qumXbNGH6AKCuF1+D2p9/LytRi9Q3GjdB4I6DAwt1YiMw7kCa5UzRQvQ1dhvaf/lhuOReEUjvQIu7iicAms0+mLFU8XpycY9uwc2Q4w3cOOrebF2CVYgUg0DDKx2P3F3f6aPwPTqLYzl+rm/0aRdWk8kX9tUH8jXr8vzQwKl3eK4kgD/Wnz8ghBnIkgH858uuFQs/6Rl85JjQEziXyxCjLOTob7F/AuHwdXEoLePf9yy0Gpd0YqT95iifXvGRRiW/1+ktA6F7Fb+CbhTvFcerVNU/NI7SbuEkHSJl3sgTM9ctDqmG0sqNS1l/2NxE5/9zVLU+x/1tEaUxm6Dg3PkOav20kQdtEF2U6FXKFQTP6EsT1xelDTqukiNKybetih+j8sfF23/PHEtCcpSIQys/aXiew/bgic4vdMY1Kw0K2eU6cT1z67WanfhP2icsueT4oA+3kpE5hiHOY77qFeC4lcvJz/rcJ94sVb1ExCB4BJ17lK26iK6ujkym9g1L0kAf5PmsEp83x0zQFlwk7vHAwpVHI0Coo6P3CUAKpizyDqmcyFhG3Ibi8eg6EQiCvtGjv0YMv/ZWDsHWChNtMXhgnpmDDDuwJqreH76vYqJZGSQ5ijDZVNh+2Rk8V9ZkSpE1SthG7vfMmUz6FU3wqG56tx9BFNlme30wBY2VyZDjjB3JPYi7LXOdgL4xrZTSvHMJsJ50yXXkNpiiTwKN7KyeMXYgqY=",
            "=?us-ascii?Q?1; CY4PR07MB3095;\n\t6:BdFdYIk37rFjGE44JpCwhZh3FyvR4QdJ7sXIcCjTOw?=\n\trxxdITPdbnwaDzExGbLt/0Lp5W/WWQ4N4UM9Bh6uq+VuVqNNtHmT/WI1gwPDppyonzbX17kvrkx1CwNZmACWEpUIJLMv5k0BM3xy/8AbmUhaEiBTSGCGkzJnU6yHMrS7WJ/VyjC9foQ6H+qG4xNcaH5I3XLjuDuHopfgbmo0KOupV8+x9IuMXfkMlbpF0ciHepz53Q47k3uUNAdX09kLfkjmOngPjYGAddSzrstM7jndW6O7/m2t2AeNjcMyzVcez7eEmS34iSNQp+mxjxAESAaDVjf/mgS8n8Hw3ltLi9ustaC4b0MRSNVIObncdjua/SbKlOnnMZ3l00QP3f9bMV4J4Hncc9cgajIkyWqJurF2P59PzqLLfNdNDpdYoEiZfeYjU9w2+T2Loe+cBReq/weWxgt/cLQQYPXrkWUEjdIQdi00I8jkiP7zQFErnHKmkjezdKoHIBREL1U813/9Tpc3laD2AQFzEsO1fZ2Qqk9W4nuwq378FdCDWyYRaKRz2vMURZmHXlqPDLH//J1zwgnMicVaCL01aSSK4Mq+AuUeIiHzhhJj1V8OHB8XUZqYXwXazfcfvLw5HqjtJ4J6bOTJoVBhHgQqlwBIYhHAcT6k8AoAUzjaMZD+/XW4OhA5jpCTjShuKhJs2FlZ7qLAJphBg0pVFX/HYTouMPGhuW0GydRErytGDPYmDCuddQZK1D7sHG9PUnLbX7A6mE8fnkoignxsGRZwsU5qeoDWsgUONuSg7lBGvNeZ5rLJdSAX+/mty/NZ9FhylKR1artyApFCZAk4lnyKdvK4jzugiS+QMJ86Z0GrTTYWMGCVExb5byqoLM0A0mP6IE+UYMyeeMPwlCvtf0gO1BLRj/4aYLrMqLtZ8LlT6rUNm8TRZvndQGCbCyULEVCVtTjuXJsm1vEyDfUAmmXJVV3+QdX8CjsXJvCwH2mi1DN2v8kdgxUv8=",
            "1; CY4PR07MB3095;\n\t5:DyJCYquajrFbRKWhYaZ3EzOhUOhsgNY9PQLYUupNj7yU/m29AzGV/pmQRsJ2zB5FyhN4AifwdxIQwncvQPKaiN7JQoJ4p+plo2Ssp9MHBFtg9GqSsM1lSJuzi7uYrduRSFBDlANBBCfa2mlEEWT8luRUh9UIZ0RbO3fv1jigpnx3omHEgNOtwyiN/fxowytzWRd+vDXN2A3W+Fzp9Lw0HDiJCvhZIgjlZTGgA5d3YJOuvPnsSpV1Hf3XV4Qd8FxiEyEwIn6zo3prdSl5utIx3/ktgcldHHjaxcC7KTnJbOVVKXQy/1De8HIvmJjb3rHSdre21bnsqAam/ene5wQrnKp+OxhVypIfjcQ2OPF/jLJbKxsLAjLMIOQARmbWzAC38XxnmXw5lnFEEdIQBt8Ye1FW5jps3txJ++55wferse3A8whoby+kkO50bHOL6pu7ZgZoQAv6d1VSZfuoIJxvUIQi5OMQg9JaClUk/jnK6WpOy/CieUgUVIB7rRo2TLRB;\n\t24:qwxORETPvTG+chNc2DaYeGuBZ6QMuvyL9Jw0BP1kjDojOgd41AAdyeE8ZiKAa0sgAxzFRyiCplCDPxyTU60zB7ug2LhZIOJ3z5BZ79s71Ek=",
            "1; CY4PR07MB3095;\n\t7:6w9VLuHq2RIUvmc4wVc2QtyhwQF+x4iA8gu7R2cfV89ZG74R7DiIKdxLCpu1I3aU1/w9xgYUzn7s/jN2rPOmAlEZgrGtJ9YpZXpZHHZet+FbWoWP3l1NsQhokrBfpH/OCNHr/xt3RAPq2lxGkAZu0yYQvTCS9se91rv9nUovXeGTCPYdtn03jqCEVnbTknsoEIvmH6gwLq9eP3iv7OXhhAFdjIGyvgT/og4sp1g4Q0tB0sUFbJ5bDvexfdz04Q2gONfkmmMobuCjCq/xHy0hI76+aS3vGOKbiKVVDtKWNKdTqyNuGhankqPA2Hkqan7cIbvMFz4ZCuD1sebuznbjpEYTmasPEar61vn2pTMyqE5iwGvQ9UXZxrWsV5x3YYc1oj1mYWM6QU405+72Z21+LqfkNSeJb+zdm/3R4LTh9JyFYMSS6wnYvDERP7qLzHdoAJactsi1+tQPm41w5dX7r/UFCh86kKC4BNXVqwEdDpBTArKLXrUbd7SA9pA40vbDZ08FjYPil1uQy/TsirBUR0qQecPgMdSxWK65qoHjxqqLxmv7arEpylS3a7+t1t2teebAvOrXw2kRp3BDT+F6TZd9lm2exNEaL55Po3OHh0RzBshe2iNHLm5mkiddINvpIEVdm8Oyt9jS0XFijl++Y8lAEl4rSU7CaIfn8bqkCw/32N6wIVO0OLAMq3ODibsQurSbnY6eP1uJndqmJROjTZkAo0lRw0i29N4Sb/Zn1uCLWIb/MtpIBfibF5jr4XbEenjyt9mEEPokdFf3Peb+HvaW4N5st0h0hZDmFG4YO0U="
        ],
        "X-MS-TrafficTypeDiagnostic": "CY4PR07MB3095:",
        "X-Exchange-Antispam-Report-Test": "UriScan:(236129657087228);",
        "X-Microsoft-Antispam-PRVS": "<CY4PR07MB30957A8920D97DF08EEC6152EAA70@CY4PR07MB3095.namprd07.prod.outlook.com>",
        "X-Exchange-Antispam-Report-CFA-Test": "BCL:0; PCL:0;\n\tRULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(2017060910075)(93006095)(10201501046)(100000703101)(100105400095)(3002001)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123555025)(20161123562025)(20161123560025)(20161123558100)(20161123564025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095);\n\tSRVR:CY4PR07MB3095; BCL:0; PCL:0;\n\tRULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);\n\tSRVR:CY4PR07MB3095; ",
        "X-Forefront-PRVS": "0374433C81",
        "X-Forefront-Antispam-Report": "SFV:NSPM;\n\tSFS:(10009020)(4630300001)(7370300001)(6069001)(6009001)(39400400002)(39450400003)(39850400002)(39840400002)(39410400002)(39860400002)(6116002)(42882006)(72206003)(305945005)(7736002)(48376002)(2950100002)(50466002)(6506006)(5003940100001)(7350300001)(47776003)(575784001)(189998001)(478600001)(4326008)(110136004)(6486002)(5009440100003)(25786009)(66066001)(966005)(8656003)(38730400002)(53376002)(6306002)(54906002)(50986999)(76176999)(2906002)(6512007)(81166006)(8676002)(33646002)(1076002)(3846002)(50226002)(53936002)(42186005)(5660300001)(36756003)(110426004);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:CY4PR07MB3095; H:localhost.localdomain;\n\tFPR:; \n\tSPF:None; MLV:nov; PTR:InfoNoRecords; LANG:en; ",
        "SpamDiagnosticOutput": "1:99",
        "SpamDiagnosticMetadata": "NSPM",
        "X-OriginatorOrg": "caviumnetworks.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "20 Jul 2017 13:48:53.8534\n\t(UTC)",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "CY4PR07MB3095",
        "Subject": "[dpdk-dev] [PATCH v3 1/6] mempool: fix flags data type",
        "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": "mp->flags is int and mempool API updates unsigned int\nvalue in 'flags', so fix the 'flags' data type.\n\nPatch also does mp->flags cleanup like:\n* Remove redundant 'flags' API description from\n  - __rte_mempool_generic_put\n  - __rte_mempool_generic_get\n\n* Remove unused 'flags' param from\n  - rte_mempool_generic_put\n  - rte_mempool_generic_get\n\n* Fix mempool var data types int mempool.c\n  - mz_flags is int, Change it to unsigned int.\n\nFixes: af75078fec (\"first public release\")\nFixes: 454a0a7009 (\"mempool: use cache in single producer or consumer mode\")\nFixes: d6f78df6fe (\"mempool: use bit flags for multi consumers and producers\")\nFixes: d1d914ebbc (\"mempool: allocate in several memory chunks by default\")\n\nSigned-off-by: Santosh Shukla <santosh.shukla@caviumnetworks.com>\n---\nCc: Wenfeng Liu <liuwf@arraynetworks.com.cn>\nCc: Lazaros Koromilas <l@nofutznetworks.com>\nCc: Olivier Matz <olivier.matz@6wind.com>\n\nv3:\n- Changes are based on per deprecation notice [1]\n[1] http://dpdk.org/dev/patchwork/patch/27079/\n\n lib/librte_mempool/rte_mempool.c |  4 ++--\n lib/librte_mempool/rte_mempool.h | 23 +++++------------------\n test/test/test_mempool.c         | 18 +++++++++---------\n test/test/test_mempool_perf.c    |  4 ++--\n 4 files changed, 18 insertions(+), 31 deletions(-)",
    "diff": "diff --git a/lib/librte_mempool/rte_mempool.c b/lib/librte_mempool/rte_mempool.c\nindex 6fc3c9c7c..237665c65 100644\n--- a/lib/librte_mempool/rte_mempool.c\n+++ b/lib/librte_mempool/rte_mempool.c\n@@ -515,7 +515,7 @@ rte_mempool_populate_virt(struct rte_mempool *mp, char *addr,\n int\n rte_mempool_populate_default(struct rte_mempool *mp)\n {\n-\tint mz_flags = RTE_MEMZONE_1GB|RTE_MEMZONE_SIZE_HINT_ONLY;\n+\tunsigned int mz_flags = RTE_MEMZONE_1GB|RTE_MEMZONE_SIZE_HINT_ONLY;\n \tchar mz_name[RTE_MEMZONE_NAMESIZE];\n \tconst struct rte_memzone *mz;\n \tsize_t size, total_elt_sz, align, pg_sz, pg_shift;\n@@ -742,7 +742,7 @@ rte_mempool_create_empty(const char *name, unsigned n, unsigned elt_size,\n \tstruct rte_tailq_entry *te = NULL;\n \tconst struct rte_memzone *mz = NULL;\n \tsize_t mempool_size;\n-\tint mz_flags = RTE_MEMZONE_1GB|RTE_MEMZONE_SIZE_HINT_ONLY;\n+\tunsigned int mz_flags = RTE_MEMZONE_1GB|RTE_MEMZONE_SIZE_HINT_ONLY;\n \tstruct rte_mempool_objsz objsz;\n \tunsigned lcore_id;\n \tint ret;\ndiff --git a/lib/librte_mempool/rte_mempool.h b/lib/librte_mempool/rte_mempool.h\nindex 76b5b3b15..bd7be2319 100644\n--- a/lib/librte_mempool/rte_mempool.h\n+++ b/lib/librte_mempool/rte_mempool.h\n@@ -226,7 +226,7 @@ struct rte_mempool {\n \t};\n \tvoid *pool_config;               /**< optional args for ops alloc. */\n \tconst struct rte_memzone *mz;    /**< Memzone where pool is alloc'd. */\n-\tint flags;                       /**< Flags of the mempool. */\n+\tunsigned int flags;              /**< Flags of the mempool. */\n \tint socket_id;                   /**< Socket id passed at create. */\n \tuint32_t size;                   /**< Max size of the mempool. */\n \tuint32_t cache_size;\n@@ -1034,9 +1034,6 @@ rte_mempool_default_cache(struct rte_mempool *mp, unsigned lcore_id)\n  *   positive.\n  * @param cache\n  *   A pointer to a mempool cache structure. May be NULL if not needed.\n- * @param flags\n- *   The flags used for the mempool creation.\n- *   Single-producer (MEMPOOL_F_SP_PUT flag) or multi-producers.\n  */\n static __rte_always_inline void\n __mempool_generic_put(struct rte_mempool *mp, void * const *obj_table,\n@@ -1096,14 +1093,10 @@ __mempool_generic_put(struct rte_mempool *mp, void * const *obj_table,\n  *   The number of objects to add in the mempool from the obj_table.\n  * @param cache\n  *   A pointer to a mempool cache structure. May be NULL if not needed.\n- * @param flags\n- *   The flags used for the mempool creation.\n- *   Single-producer (MEMPOOL_F_SP_PUT flag) or multi-producers.\n  */\n static __rte_always_inline void\n rte_mempool_generic_put(struct rte_mempool *mp, void * const *obj_table,\n-\t\t\tunsigned n, struct rte_mempool_cache *cache,\n-\t\t\t__rte_unused int flags)\n+\t\t\tunsigned n, struct rte_mempool_cache *cache)\n {\n \t__mempool_check_cookies(mp, obj_table, n, 0);\n \t__mempool_generic_put(mp, obj_table, n, cache);\n@@ -1129,7 +1122,7 @@ rte_mempool_put_bulk(struct rte_mempool *mp, void * const *obj_table,\n {\n \tstruct rte_mempool_cache *cache;\n \tcache = rte_mempool_default_cache(mp, rte_lcore_id());\n-\trte_mempool_generic_put(mp, obj_table, n, cache, mp->flags);\n+\trte_mempool_generic_put(mp, obj_table, n, cache);\n }\n \n /**\n@@ -1160,9 +1153,6 @@ rte_mempool_put(struct rte_mempool *mp, void *obj)\n  *   The number of objects to get, must be strictly positive.\n  * @param cache\n  *   A pointer to a mempool cache structure. May be NULL if not needed.\n- * @param flags\n- *   The flags used for the mempool creation.\n- *   Single-consumer (MEMPOOL_F_SC_GET flag) or multi-consumers.\n  * @return\n  *   - >=0: Success; number of objects supplied.\n  *   - <0: Error; code of ring dequeue function.\n@@ -1241,16 +1231,13 @@ __mempool_generic_get(struct rte_mempool *mp, void **obj_table,\n  *   The number of objects to get from mempool to obj_table.\n  * @param cache\n  *   A pointer to a mempool cache structure. May be NULL if not needed.\n- * @param flags\n- *   The flags used for the mempool creation.\n- *   Single-consumer (MEMPOOL_F_SC_GET flag) or multi-consumers.\n  * @return\n  *   - 0: Success; objects taken.\n  *   - -ENOENT: Not enough entries in the mempool; no object is retrieved.\n  */\n static __rte_always_inline int\n rte_mempool_generic_get(struct rte_mempool *mp, void **obj_table, unsigned n,\n-\t\t\tstruct rte_mempool_cache *cache, __rte_unused int flags)\n+\t\t\tstruct rte_mempool_cache *cache)\n {\n \tint ret;\n \tret = __mempool_generic_get(mp, obj_table, n, cache);\n@@ -1286,7 +1273,7 @@ rte_mempool_get_bulk(struct rte_mempool *mp, void **obj_table, unsigned n)\n {\n \tstruct rte_mempool_cache *cache;\n \tcache = rte_mempool_default_cache(mp, rte_lcore_id());\n-\treturn rte_mempool_generic_get(mp, obj_table, n, cache, mp->flags);\n+\treturn rte_mempool_generic_get(mp, obj_table, n, cache);\n }\n \n /**\ndiff --git a/test/test/test_mempool.c b/test/test/test_mempool.c\nindex 0a4423954..47dc3ac5f 100644\n--- a/test/test/test_mempool.c\n+++ b/test/test/test_mempool.c\n@@ -129,7 +129,7 @@ test_mempool_basic(struct rte_mempool *mp, int use_external_cache)\n \trte_mempool_dump(stdout, mp);\n \n \tprintf(\"get an object\\n\");\n-\tif (rte_mempool_generic_get(mp, &obj, 1, cache, 0) < 0)\n+\tif (rte_mempool_generic_get(mp, &obj, 1, cache) < 0)\n \t\tGOTO_ERR(ret, out);\n \trte_mempool_dump(stdout, mp);\n \n@@ -152,21 +152,21 @@ test_mempool_basic(struct rte_mempool *mp, int use_external_cache)\n #endif\n \n \tprintf(\"put the object back\\n\");\n-\trte_mempool_generic_put(mp, &obj, 1, cache, 0);\n+\trte_mempool_generic_put(mp, &obj, 1, cache);\n \trte_mempool_dump(stdout, mp);\n \n \tprintf(\"get 2 objects\\n\");\n-\tif (rte_mempool_generic_get(mp, &obj, 1, cache, 0) < 0)\n+\tif (rte_mempool_generic_get(mp, &obj, 1, cache) < 0)\n \t\tGOTO_ERR(ret, out);\n-\tif (rte_mempool_generic_get(mp, &obj2, 1, cache, 0) < 0) {\n-\t\trte_mempool_generic_put(mp, &obj, 1, cache, 0);\n+\tif (rte_mempool_generic_get(mp, &obj2, 1, cache) < 0) {\n+\t\trte_mempool_generic_put(mp, &obj, 1, cache);\n \t\tGOTO_ERR(ret, out);\n \t}\n \trte_mempool_dump(stdout, mp);\n \n \tprintf(\"put the objects back\\n\");\n-\trte_mempool_generic_put(mp, &obj, 1, cache, 0);\n-\trte_mempool_generic_put(mp, &obj2, 1, cache, 0);\n+\trte_mempool_generic_put(mp, &obj, 1, cache);\n+\trte_mempool_generic_put(mp, &obj2, 1, cache);\n \trte_mempool_dump(stdout, mp);\n \n \t/*\n@@ -178,7 +178,7 @@ test_mempool_basic(struct rte_mempool *mp, int use_external_cache)\n \t\tGOTO_ERR(ret, out);\n \n \tfor (i = 0; i < MEMPOOL_SIZE; i++) {\n-\t\tif (rte_mempool_generic_get(mp, &objtable[i], 1, cache, 0) < 0)\n+\t\tif (rte_mempool_generic_get(mp, &objtable[i], 1, cache) < 0)\n \t\t\tbreak;\n \t}\n \n@@ -200,7 +200,7 @@ test_mempool_basic(struct rte_mempool *mp, int use_external_cache)\n \t\t\t\tret = -1;\n \t\t}\n \n-\t\trte_mempool_generic_put(mp, &objtable[i], 1, cache, 0);\n+\t\trte_mempool_generic_put(mp, &objtable[i], 1, cache);\n \t}\n \n \tfree(objtable);\ndiff --git a/test/test/test_mempool_perf.c b/test/test/test_mempool_perf.c\nindex 07b28c066..3b8f7de7c 100644\n--- a/test/test/test_mempool_perf.c\n+++ b/test/test/test_mempool_perf.c\n@@ -186,7 +186,7 @@ per_lcore_mempool_test(void *arg)\n \t\t\t\tret = rte_mempool_generic_get(mp,\n \t\t\t\t\t\t\t      &obj_table[idx],\n \t\t\t\t\t\t\t      n_get_bulk,\n-\t\t\t\t\t\t\t      cache, 0);\n+\t\t\t\t\t\t\t      cache);\n \t\t\t\tif (unlikely(ret < 0)) {\n \t\t\t\t\trte_mempool_dump(stdout, mp);\n \t\t\t\t\t/* in this case, objects are lost... */\n@@ -200,7 +200,7 @@ per_lcore_mempool_test(void *arg)\n \t\t\twhile (idx < n_keep) {\n \t\t\t\trte_mempool_generic_put(mp, &obj_table[idx],\n \t\t\t\t\t\t\tn_put_bulk,\n-\t\t\t\t\t\t\tcache, 0);\n+\t\t\t\t\t\t\tcache);\n \t\t\t\tidx += n_put_bulk;\n \t\t\t}\n \t\t}\n",
    "prefixes": [
        "dpdk-dev",
        "v3",
        "1/6"
    ]
}