get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 117143,
    "url": "http://patchwork.dpdk.org/api/patches/117143/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/patch/20220929122311.1263-1-olivier.matz@6wind.com/",
    "project": {
        "id": 1,
        "url": "http://patchwork.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": "<20220929122311.1263-1-olivier.matz@6wind.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20220929122311.1263-1-olivier.matz@6wind.com",
    "date": "2022-09-29T12:23:11",
    "name": "mem: fix API doc about allocation on secondary processes",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "367b1a65fc4c16a4a4b9d823b073f79e2b67cb8d",
    "submitter": {
        "id": 8,
        "url": "http://patchwork.dpdk.org/api/people/8/?format=api",
        "name": "Olivier Matz",
        "email": "olivier.matz@6wind.com"
    },
    "delegate": {
        "id": 24651,
        "url": "http://patchwork.dpdk.org/api/users/24651/?format=api",
        "username": "dmarchand",
        "first_name": "David",
        "last_name": "Marchand",
        "email": "david.marchand@redhat.com"
    },
    "mbox": "http://patchwork.dpdk.org/project/dpdk/patch/20220929122311.1263-1-olivier.matz@6wind.com/mbox/",
    "series": [
        {
            "id": 24919,
            "url": "http://patchwork.dpdk.org/api/series/24919/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=24919",
            "date": "2022-09-29T12:23:11",
            "name": "mem: fix API doc about allocation on secondary processes",
            "version": 1,
            "mbox": "http://patchwork.dpdk.org/series/24919/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/patches/117143/comments/",
    "check": "fail",
    "checks": "http://patchwork.dpdk.org/api/patches/117143/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 2C073A00C4;\n\tThu, 29 Sep 2022 14:23:30 +0200 (CEST)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 22ED940694;\n\tThu, 29 Sep 2022 14:23:30 +0200 (CEST)",
            "from mail-wr1-f50.google.com (mail-wr1-f50.google.com\n [209.85.221.50]) by mails.dpdk.org (Postfix) with ESMTP id 2FB0C40395\n for <dev@dpdk.org>; Thu, 29 Sep 2022 14:23:29 +0200 (CEST)",
            "by mail-wr1-f50.google.com with SMTP id c11so1902371wrp.11\n for <dev@dpdk.org>; Thu, 29 Sep 2022 05:23:29 -0700 (PDT)",
            "from gojira.dev.6wind.com ([185.13.181.2])\n by smtp.gmail.com with ESMTPSA id\n i1-20020a5d4381000000b002205cbc1c74sm6504172wrq.101.2022.09.29.05.23.28\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Thu, 29 Sep 2022 05:23:28 -0700 (PDT)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=6wind.com; s=google;\n h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n :to:from:from:to:cc:subject:date;\n bh=ZPkuqYuyuKowjSKiABcTj53LOnXf7gveIAcAR8u3fDg=;\n b=hlMltOJx2xWOxZYbzkqTx5d3MRMLIEe1fw0uItabdrbDubNu7zZuKYNCXgho5RmaMc\n ND3k8U4IdWH+xh6VMUEkfLHdEB7Rp5FUdgPhJX9q2f1/2tscJC0zGbmK7Za3D0rq1Aql\n E4JY1m41gKBxfO5Xq16WFIX03aAK7G12m5IG7VkrZHQgCaQbnZdAwdf+a7ytLxiijp5J\n /DYWQfqWs0Sh9/Px1XLUtO2GtSVN4FOYmUM8QfLM4+663fDCwNkjFyvWqa6QIJ5JsXuO\n xD96WvqJjTm6O6Tlsn4xI4qWLI7n2wnX+/Rs0q9imoLwRWf6jkbfpIqb7ZUcK4vgkKWW\n 6U5A==",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20210112;\n h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n :to:from:x-gm-message-state:from:to:cc:subject:date;\n bh=ZPkuqYuyuKowjSKiABcTj53LOnXf7gveIAcAR8u3fDg=;\n b=hhNkwrZJKXS0DEXHeMagzx4PNoovoYMT2RJNud+7SK+JhMYyy4dd+VGo8pztRqaCL1\n Ct1oBQjDuf56f9isxH/p6fRKQhQdNlX2s/xYLVpbQvjDSuiYU0RAIxnr6rAyT4JwH5fO\n TVCLaqT01y6GwxBFvkosz5Lt/jS2qoX2typhRktChiyhenDitfIBw/TFirIJDaVQ2F/r\n KmLXW9Z2+D1eu5iTykdxYwRrB+mf30IkCA+0PBaJNVfOKBDtPgoVvZ/KbmMJjVnqCKBD\n GbQfDd9DA8uPWADO2GIz/wy0uBbDm7X4adBclZ2XFiQapMOHtNfe8U3wGZyqSLVTS69V\n jnww==",
        "X-Gm-Message-State": "ACrzQf1hAM8AjjpJVjOZ+2xmjGyZrrmskLUzYFXd2AtQrmeTCGMESfW7\n JJiIs7gY77IH+CIoGY/Ka9QIErXj0r3W+BEJ",
        "X-Google-Smtp-Source": "\n AMsMyM6Mp25X5mwnFkEhexIfo3oTrh0mQCne+s6ChZH0WTsDiGgjtXNmvkC1Wi8lCWFU7xaG5/pEFw==",
        "X-Received": "by 2002:a05:6000:184:b0:22a:cb6f:bb52 with SMTP id\n p4-20020a056000018400b0022acb6fbb52mr2050851wrx.500.1664454208884;\n Thu, 29 Sep 2022 05:23:28 -0700 (PDT)",
        "From": "Olivier Matz <olivier.matz@6wind.com>",
        "To": "dev@dpdk.org",
        "Cc": "Anatoly Burakov <anatoly.burakov@intel.com>,\n Olivier Matz <olivier.matz@6wind.com>,\n Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>,\n Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>,\n Konstantin Ananyev <konstantin.v.ananyev@yandex.ru>",
        "Subject": "[PATCH] mem: fix API doc about allocation on secondary processes",
        "Date": "Thu, 29 Sep 2022 14:23:11 +0200",
        "Message-Id": "<20220929122311.1263-1-olivier.matz@6wind.com>",
        "X-Mailer": "git-send-email 2.30.2",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "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"
    },
    "content": "Since 10 years, memzone allocation is allowed on secondary\nprocesses. Now it's time to update the documentation accordingly.\n\nAt the same time, fix mempool, mbuf and ring documentation which rely on\nmemzones internally.\n\nBugzilla ID: 1074\nFixes: 916e4f4f4e45 (\"memory: fix for multi process support\")\n\nSigned-off-by: Olivier Matz <olivier.matz@6wind.com>\n---\n lib/eal/include/rte_memzone.h | 3 ---\n lib/mbuf/rte_mbuf.h           | 3 ---\n lib/mempool/rte_mempool.h     | 1 -\n lib/ring/rte_ring.h           | 1 -\n lib/ring/rte_ring_elem.h      | 1 -\n 5 files changed, 9 deletions(-)",
    "diff": "diff --git a/lib/eal/include/rte_memzone.h b/lib/eal/include/rte_memzone.h\nindex 5db1210831..bb4223a056 100644\n--- a/lib/eal/include/rte_memzone.h\n+++ b/lib/eal/include/rte_memzone.h\n@@ -118,7 +118,6 @@ struct rte_memzone {\n  *   on error.\n  *   On error case, rte_errno will be set appropriately:\n  *    - E_RTE_NO_CONFIG - function could not get pointer to rte_config structure\n- *    - E_RTE_SECONDARY - function was called from a secondary process instance\n  *    - ENOSPC - the maximum number of memzones has already been allocated\n  *    - EEXIST - a memzone with the same name already exists\n  *    - ENOMEM - no appropriate memory area found in which to create memzone\n@@ -184,7 +183,6 @@ const struct rte_memzone *rte_memzone_reserve(const char *name,\n  *   on error.\n  *   On error case, rte_errno will be set appropriately:\n  *    - E_RTE_NO_CONFIG - function could not get pointer to rte_config structure\n- *    - E_RTE_SECONDARY - function was called from a secondary process instance\n  *    - ENOSPC - the maximum number of memzones has already been allocated\n  *    - EEXIST - a memzone with the same name already exists\n  *    - ENOMEM - no appropriate memory area found in which to create memzone\n@@ -256,7 +254,6 @@ const struct rte_memzone *rte_memzone_reserve_aligned(const char *name,\n  *   on error.\n  *   On error case, rte_errno will be set appropriately:\n  *    - E_RTE_NO_CONFIG - function could not get pointer to rte_config structure\n- *    - E_RTE_SECONDARY - function was called from a secondary process instance\n  *    - ENOSPC - the maximum number of memzones has already been allocated\n  *    - EEXIST - a memzone with the same name already exists\n  *    - ENOMEM - no appropriate memory area found in which to create memzone\ndiff --git a/lib/mbuf/rte_mbuf.h b/lib/mbuf/rte_mbuf.h\nindex 9811e8c760..b6e23d98ce 100644\n--- a/lib/mbuf/rte_mbuf.h\n+++ b/lib/mbuf/rte_mbuf.h\n@@ -664,7 +664,6 @@ void rte_pktmbuf_pool_init(struct rte_mempool *mp, void *opaque_arg);\n  *   The pointer to the new allocated mempool, on success. NULL on error\n  *   with rte_errno set appropriately. Possible rte_errno values include:\n  *    - E_RTE_NO_CONFIG - function could not get pointer to rte_config structure\n- *    - E_RTE_SECONDARY - function was called from a secondary process instance\n  *    - EINVAL - cache size provided is too large, or priv_size is not aligned.\n  *    - ENOSPC - the maximum number of memzones has already been allocated\n  *    - EEXIST - a memzone with the same name already exists\n@@ -706,7 +705,6 @@ rte_pktmbuf_pool_create(const char *name, unsigned n,\n  *   The pointer to the new allocated mempool, on success. NULL on error\n  *   with rte_errno set appropriately. Possible rte_errno values include:\n  *    - E_RTE_NO_CONFIG - function could not get pointer to rte_config structure\n- *    - E_RTE_SECONDARY - function was called from a secondary process instance\n  *    - EINVAL - cache size provided is too large, or priv_size is not aligned.\n  *    - ENOSPC - the maximum number of memzones has already been allocated\n  *    - EEXIST - a memzone with the same name already exists\n@@ -760,7 +758,6 @@ struct rte_pktmbuf_extmem {\n  *   The pointer to the new allocated mempool, on success. NULL on error\n  *   with rte_errno set appropriately. Possible rte_errno values include:\n  *    - E_RTE_NO_CONFIG - function could not get pointer to rte_config structure\n- *    - E_RTE_SECONDARY - function was called from a secondary process instance\n  *    - EINVAL - cache size provided is too large, or priv_size is not aligned.\n  *    - ENOSPC - the maximum number of memzones has already been allocated\n  *    - EEXIST - a memzone with the same name already exists\ndiff --git a/lib/mempool/rte_mempool.h b/lib/mempool/rte_mempool.h\nindex a3c4ee351d..4c4af2a8ed 100644\n--- a/lib/mempool/rte_mempool.h\n+++ b/lib/mempool/rte_mempool.h\n@@ -1023,7 +1023,6 @@ typedef void (rte_mempool_ctor_t)(struct rte_mempool *, void *);\n  *   The pointer to the new allocated mempool, on success. NULL on error\n  *   with rte_errno set appropriately. Possible rte_errno values include:\n  *    - E_RTE_NO_CONFIG - function could not get pointer to rte_config structure\n- *    - E_RTE_SECONDARY - function was called from a secondary process instance\n  *    - EINVAL - cache size provided is too large or an unknown flag was passed\n  *    - ENOSPC - the maximum number of memzones has already been allocated\n  *    - EEXIST - a memzone with the same name already exists\ndiff --git a/lib/ring/rte_ring.h b/lib/ring/rte_ring.h\nindex 980e92e594..7c48e35d27 100644\n--- a/lib/ring/rte_ring.h\n+++ b/lib/ring/rte_ring.h\n@@ -180,7 +180,6 @@ int rte_ring_init(struct rte_ring *r, const char *name, unsigned int count,\n  *   On success, the pointer to the new allocated ring. NULL on error with\n  *    rte_errno set appropriately. Possible errno values include:\n  *    - E_RTE_NO_CONFIG - function could not get pointer to rte_config structure\n- *    - E_RTE_SECONDARY - function was called from a secondary process instance\n  *    - EINVAL - count provided is not a power of 2\n  *    - ENOSPC - the maximum number of memzones has already been allocated\n  *    - EEXIST - a memzone with the same name already exists\ndiff --git a/lib/ring/rte_ring_elem.h b/lib/ring/rte_ring_elem.h\nindex fb1edc9aad..7f7d4951d3 100644\n--- a/lib/ring/rte_ring_elem.h\n+++ b/lib/ring/rte_ring_elem.h\n@@ -96,7 +96,6 @@ ssize_t rte_ring_get_memsize_elem(unsigned int esize, unsigned int count);\n  *   On success, the pointer to the new allocated ring. NULL on error with\n  *    rte_errno set appropriately. Possible errno values include:\n  *    - E_RTE_NO_CONFIG - function could not get pointer to rte_config structure\n- *    - E_RTE_SECONDARY - function was called from a secondary process instance\n  *    - EINVAL - esize is not a multiple of 4 or count provided is not a\n  *\t\t power of 2.\n  *    - ENOSPC - the maximum number of memzones has already been allocated\n",
    "prefixes": []
}