get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 20004,
    "url": "http://patches.dpdk.org/api/patches/20004/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/29605f35-7cb2-e526-382c-175df14abcf8@intel.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": "<29605f35-7cb2-e526-382c-175df14abcf8@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/29605f35-7cb2-e526-382c-175df14abcf8@intel.com",
    "date": "2017-01-25T15:29:53",
    "name": "[dpdk-dev,PATCHv6,16/33] drivers/pool/dpaa2: adding hw offloaded mempool",
    "commit_ref": null,
    "pull_url": null,
    "state": "not-applicable",
    "archived": true,
    "hash": "91a4184f59c3dc4903c86aeea0782b8021c0a657",
    "submitter": {
        "id": 324,
        "url": "http://patches.dpdk.org/api/people/324/?format=api",
        "name": "Ferruh Yigit",
        "email": "ferruh.yigit@intel.com"
    },
    "delegate": null,
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/29605f35-7cb2-e526-382c-175df14abcf8@intel.com/mbox/",
    "series": [],
    "comments": "http://patches.dpdk.org/api/patches/20004/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/20004/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 0DFD1108F;\n\tWed, 25 Jan 2017 16:29:59 +0100 (CET)",
            "from mga07.intel.com (mga07.intel.com [134.134.136.100])\n\tby dpdk.org (Postfix) with ESMTP id 5953D1023\n\tfor <dev@dpdk.org>; Wed, 25 Jan 2017 16:29:57 +0100 (CET)",
            "from orsmga005.jf.intel.com ([10.7.209.41])\n\tby orsmga105.jf.intel.com with ESMTP; 25 Jan 2017 07:29:56 -0800",
            "from fyigit-mobl1.ger.corp.intel.com (HELO [10.237.220.38])\n\t([10.237.220.38])\n\tby orsmga005.jf.intel.com with ESMTP; 25 Jan 2017 07:29:54 -0800"
        ],
        "X-ExtLoop1": "1",
        "X-IronPort-AV": "E=Sophos;i=\"5.33,284,1477983600\"; d=\"scan'208\";a=\"57113296\"",
        "To": "Thomas Monjalon <thomas.monjalon@6wind.com>,\n\tHemant Agrawal <hemant.agrawal@nxp.com>",
        "References": "<1484832240-2048-1-git-send-email-hemant.agrawal@nxp.com>\n\t<fff0af67-36a5-c125-d3d5-1eb9c7693e46@intel.com>\n\t<228ff5e7-2fa8-7731-681d-e4759bff93cb@nxp.com>\n\t<20101825.1zhD9dk20U@xps13>",
        "Cc": "Shreyansh Jain <shreyansh.jain@nxp.com>, dev@dpdk.org,\n\tbruce.richardson@intel.com, john.mcnamara@intel.com,\n\tjerin.jacob@caviumnetworks.com",
        "From": "Ferruh Yigit <ferruh.yigit@intel.com>",
        "Message-ID": "<29605f35-7cb2-e526-382c-175df14abcf8@intel.com>",
        "Date": "Wed, 25 Jan 2017 15:29:53 +0000",
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101\n\tThunderbird/45.6.0",
        "MIME-Version": "1.0",
        "In-Reply-To": "<20101825.1zhD9dk20U@xps13>",
        "Content-Type": "text/plain; charset=windows-1252",
        "Content-Transfer-Encoding": "7bit",
        "Subject": "Re: [dpdk-dev] [PATCHv6 16/33] drivers/pool/dpaa2: adding hw\n\toffloaded mempool",
        "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": "On 1/24/2017 5:28 PM, Thomas Monjalon wrote:\n> 2017-01-24 20:07, Hemant Agrawal:\n>> On 1/24/2017 4:19 PM, Ferruh Yigit wrote:\n>>> On 1/24/2017 9:12 AM, Shreyansh Jain wrote:\n>>>> On Monday 23 January 2017 11:04 PM, Ferruh Yigit wrote:\n>>>>> On 1/23/2017 11:59 AM, Hemant Agrawal wrote:\n>>>>>> +# library dependencies\n>>>>>> +DEPDIRS-$(CONFIG_RTE_LIBRTE_DPAA2_POOL) += lib/librte_eal\n>>>>>> +DEPDIRS-$(CONFIG_RTE_LIBRTE_DPAA2_POOL) += lib/librte_mempool\n>>>>>> +DEPDIRS-$(CONFIG_RTE_LIBRTE_DPAA2_POOL) += lib/librte_common_dpaa2_qbman\n>>>>>\n>>>>> This dependeny doesn not looks correct, there is no folder like that.\n>>>>\n>>>> This is something even I need to understand. From the DEPDIRS what I\n>>>> understood was that though it refers to a directory, it essentially\n>>>> links libraries in build/lib/*.\n>>>>\n>>>> Further, somehow the development is deploying drivers/bus,\n>>>> drivers/common and drivers/pool in lib/* under the name specified as\n>>>> LIB in Makefile. My understanding was that it is expected behavior and\n>>>> not special because of drivers folder.\n>>>>\n>>>> Thus, above line only links lib/librte_common_dpaa2_qbman generated by\n>>>> drivers/common/dpaa2/qbman code.\n>>>>\n>>>> In fact, I think, this might also one of the issues why a parallel\n>>>> shared build fails for DPAA2 PMD (added in Cover letter).\n>>>> The dependency graph cannot create a graph for drivers/common\n>>>> as dependency for drivers/net or drivers/bus and hence parallel build\n>>>> fails because of missing libraries which are being parallely compiled.\n>>>\n>>> DEPDIRS-y is mainly to resolve dependencies for compilation order, and\n>>> should point to the folder,\n>>>\n>>> Following line will cause \"librte_eal\" to be compiled before driver:\n>>> DEPDIRS-$(CONFIG_RTE_LIBRTE_DPAA2_POOL) += lib/librte_eal\n>>>\n>>> So \"lib/librte_common_dpaa2_qbman\" does not makes more sense, since\n>>> there is no folder like that.\n>>>\n>>>\n>>> Somewhere in the history, with following commit, DEPDIRS-y gained a side\n>>> effect, it has been used to set dynamic linking dependencies, to fix\n>>> underlinking issue:\n>>>  bf5a46fa5972 (\"mk: generate internal library dependencies\")\n>>>\n>>> I guess you are having that line to benefit from this side effect, but\n>>> this can be done with following more properly:\n>>> LDLIBS += lib/librte_common_dpaa2_qbman\n>>>\n>>>\n>>> To resolve the drivers/net to drivers/common dependency, following line\n>>> in this Makefile should work:\n>>> DEPDIRS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += drivers/common/dpaa2\n>>>\n>>> This adds following, which will cause \"drivers/common\" compiled before\n>>> any \"drivers/net\":\n>>> LOCAL_DEPDIRS-drivers/net += drivers/common\n>>\n>> Thanks for your suggestion. This is one thing, I am not yet able to fix.\n>>\n>> Based on your suggestions:\n>> e.g.\n>> LDLIBS += -lrte_common_dpaa2_qbman\n>> DEPDIRS-$(CONFIG_RTE_LIBRTE_FSLMC_BUS) += drivers/common/dpaa2\n>>\n>> It does add entry in the \".depdirs\"\n>> ./arm64-dpaa2-linuxapp-gcc/.depdirs:168:LOCAL_DEPDIRS-drivers/bus += \n>> drivers/common\n>> ./arm64-dpaa2-linuxapp-gcc/.depdirs:170:LOCAL_DEPDIRS-drivers += lib\n>> ./arm64-dpaa2-linuxapp-gcc/.depdirs:172:LOCAL_DEPDIRS-drivers += lib\n>> ./arm64-dpaa2-linuxapp-gcc/.depdirs:174:LOCAL_DEPDIRS-drivers/pool += \n>> drivers/common\n>>\n>> However,  we keep on getting:\n>> LD librte_bus_fslmc.so.1.1\n>> aarch64-linux-gnu-gcc: error: drivers/common/dpaa2: No such file or \n>> directory\n>> make[6]: *** [librte_bus_fslmc.so.1.1] Error 1\n> \n> Probably because of:\n> \n> # Translate DEPDIRS-y into LDLIBS\n> # Ignore (sub)directory dependencies which do not provide an actual library\n> _IGNORE_DIRS = lib/librte_eal/% lib/librte_compat\n> _DEPDIRS = $(filter-out $(_IGNORE_DIRS),$(DEPDIRS-y))\n> _LDDIRS = $(subst librte_ether,librte_ethdev,$(_DEPDIRS))\n> LDLIBS += $(subst lib/lib,-l,$(_LDDIRS))\n> \n> It shows one important thing: qbman is not a driver, it is a lib.\n> So drivers/common/dpaa2 should be handled differently.\n> \n> Solution 1: tweak mk/rte.lib.mk for directories in drivers/common/\n> Solution 2: host your bus libs outside of DPDK\n> \n\nFor solution 1, following [1] seems working, \"drivers/%\" preferred\nagainst \"drivers/common/%\" because \"drivers/bus/%\" has same issue. And\nas far as I can see dpaa2 is the only driver dependency in lib folder.\n\n[1]",
    "diff": "diff --git a/mk/rte.lib.mk b/mk/rte.lib.mk\nindex 33a5f5a..ac4df9a 100644\n--- a/mk/rte.lib.mk\n+++ b/mk/rte.lib.mk\n@@ -79,7 +79,7 @@ endif\n\n # Translate DEPDIRS-y into LDLIBS\n # Ignore (sub)directory dependencies which do not provide an actual library\n-_IGNORE_DIRS = lib/librte_eal/% lib/librte_compat\n+_IGNORE_DIRS = lib/librte_eal/% lib/librte_compat drivers/%\n _DEPDIRS = $(filter-out $(_IGNORE_DIRS),$(DEPDIRS-y))\n _LDDIRS = $(subst librte_ether,librte_ethdev,$(_DEPDIRS))\n LDLIBS += $(subst lib/lib,-l,$(_LDDIRS))\n",
    "prefixes": [
        "dpdk-dev",
        "PATCHv6",
        "16/33"
    ]
}