get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 43047,
    "url": "http://patches.dpdk.org/api/patches/43047/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/f7b13bc0e6b8cbacb273ef949a447974f1467861.1531485955.git.anatoly.burakov@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": "<f7b13bc0e6b8cbacb273ef949a447974f1467861.1531485955.git.anatoly.burakov@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/f7b13bc0e6b8cbacb273ef949a447974f1467861.1531485955.git.anatoly.burakov@intel.com",
    "date": "2018-07-13T12:48:03",
    "name": "[v3,7/8] eal: add --in-memory option",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "657c3d05dad3a30a12bbaeaae9c564147279cbd7",
    "submitter": {
        "id": 4,
        "url": "http://patches.dpdk.org/api/people/4/?format=api",
        "name": "Burakov, Anatoly",
        "email": "anatoly.burakov@intel.com"
    },
    "delegate": null,
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/f7b13bc0e6b8cbacb273ef949a447974f1467861.1531485955.git.anatoly.burakov@intel.com/mbox/",
    "series": [
        {
            "id": 564,
            "url": "http://patches.dpdk.org/api/series/564/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=564",
            "date": "2018-07-13T12:47:56",
            "name": "Support running DPDK without hugetlbfs mountpoint",
            "version": 3,
            "mbox": "http://patches.dpdk.org/series/564/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/43047/comments/",
    "check": "warning",
    "checks": "http://patches.dpdk.org/api/patches/43047/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 [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id CFD454C74;\n\tFri, 13 Jul 2018 14:48:20 +0200 (CEST)",
            "from mga18.intel.com (mga18.intel.com [134.134.136.126])\n\tby dpdk.org (Postfix) with ESMTP id 321CC2C28\n\tfor <dev@dpdk.org>; Fri, 13 Jul 2018 14:48:10 +0200 (CEST)",
            "from fmsmga008.fm.intel.com ([10.253.24.58])\n\tby orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t13 Jul 2018 05:48:07 -0700",
            "from irvmail001.ir.intel.com ([163.33.26.43])\n\tby fmsmga008.fm.intel.com with ESMTP; 13 Jul 2018 05:48:05 -0700",
            "from sivswdev01.ir.intel.com (sivswdev01.ir.intel.com\n\t[10.237.217.45])\n\tby irvmail001.ir.intel.com (8.14.3/8.13.6/MailSET/Hub) with ESMTP id\n\tw6DCm5CL016848; Fri, 13 Jul 2018 13:48:05 +0100",
            "from sivswdev01.ir.intel.com (localhost [127.0.0.1])\n\tby sivswdev01.ir.intel.com with ESMTP id w6DCm5lQ006286;\n\tFri, 13 Jul 2018 13:48:05 +0100",
            "(from aburakov@localhost)\n\tby sivswdev01.ir.intel.com with LOCAL id w6DCm5Cr006282;\n\tFri, 13 Jul 2018 13:48:05 +0100"
        ],
        "X-Amp-Result": "SKIPPED(no attachment in message)",
        "X-Amp-File-Uploaded": "False",
        "X-ExtLoop1": "1",
        "X-IronPort-AV": "E=Sophos;i=\"5.51,347,1526367600\"; d=\"scan'208\";a=\"54778354\"",
        "From": "Anatoly Burakov <anatoly.burakov@intel.com>",
        "To": "dev@dpdk.org",
        "Cc": "ray.kinsella@intel.com, kuralamudhan.ramakrishnan@intel.com,\n\tlouise.m.daly@intel.com, bruce.richardson@intel.com,\n\tferruh.yigit@intel.com, konstantin.ananyev@intel.com, thomas@monjalon.net",
        "Date": "Fri, 13 Jul 2018 13:48:03 +0100",
        "Message-Id": "<f7b13bc0e6b8cbacb273ef949a447974f1467861.1531485955.git.anatoly.burakov@intel.com>",
        "X-Mailer": "git-send-email 1.7.0.7",
        "In-Reply-To": [
            "<cover.1531485955.git.anatoly.burakov@intel.com>",
            "<cover.1531485955.git.anatoly.burakov@intel.com>"
        ],
        "References": [
            "<cover.1531485955.git.anatoly.burakov@intel.com>",
            "<cover.1531477505.git.anatoly.burakov@intel.com>\n\t<cover.1531485955.git.anatoly.burakov@intel.com>"
        ],
        "Subject": "[dpdk-dev] [PATCH v3 7/8] eal: add --in-memory option",
        "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\t<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\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "This command-line option will cause DPDK to operate entirely in\nmemory and not create any shared files at runtime, including any\nshared configuration or hugetlbfs files. This is useful for debug\npurposes, as well as for certain use cases like containers or\nautomatic memory cleanup.\n\nCurrently, this option acts as a strict superset of --no-shconf and\n--huge-unlink commands.\n\nSigned-off-by: Anatoly Burakov <anatoly.burakov@intel.com>\n---\n\nNotes:\n    RFC->v1:\n    - Do not deprecate old options, instead just coopt them\n\n lib/librte_eal/common/eal_common_options.c | 18 ++++++++++++++----\n lib/librte_eal/common/eal_internal_cfg.h   |  4 ++++\n lib/librte_eal/common/eal_options.h        |  2 ++\n 3 files changed, 20 insertions(+), 4 deletions(-)",
    "diff": "diff --git a/lib/librte_eal/common/eal_common_options.c b/lib/librte_eal/common/eal_common_options.c\nindex df5d53648..f308b57c3 100644\n--- a/lib/librte_eal/common/eal_common_options.c\n+++ b/lib/librte_eal/common/eal_common_options.c\n@@ -66,6 +66,7 @@ eal_long_options[] = {\n \t{OPT_NO_HUGE,           0, NULL, OPT_NO_HUGE_NUM          },\n \t{OPT_NO_PCI,            0, NULL, OPT_NO_PCI_NUM           },\n \t{OPT_NO_SHCONF,         0, NULL, OPT_NO_SHCONF_NUM        },\n+\t{OPT_IN_MEMORY,         0, NULL, OPT_IN_MEMORY_NUM        },\n \t{OPT_PCI_BLACKLIST,     1, NULL, OPT_PCI_BLACKLIST_NUM    },\n \t{OPT_PCI_WHITELIST,     1, NULL, OPT_PCI_WHITELIST_NUM    },\n \t{OPT_PROC_TYPE,         1, NULL, OPT_PROC_TYPE_NUM        },\n@@ -1170,6 +1171,13 @@ eal_parse_common_option(int opt, const char *optarg,\n \t\tconf->no_shconf = 1;\n \t\tbreak;\n \n+\tcase OPT_IN_MEMORY_NUM:\n+\t\tconf->in_memory = 1;\n+\t\t/* in-memory is a superset of noshconf and huge-unlink */\n+\t\tconf->no_shconf = 1;\n+\t\tconf->hugepage_unlink = 1;\n+\t\tbreak;\n+\n \tcase OPT_PROC_TYPE_NUM:\n \t\tconf->process_type = eal_parse_proc_type(optarg);\n \t\tbreak;\n@@ -1321,8 +1329,8 @@ eal_check_common_options(struct internal_config *internal_cfg)\n \t\t\t\"be specified together with --\"OPT_NO_HUGE\"\\n\");\n \t\treturn -1;\n \t}\n-\n-\tif (internal_cfg->no_hugetlbfs && internal_cfg->hugepage_unlink) {\n+\tif (internal_cfg->no_hugetlbfs && internal_cfg->hugepage_unlink &&\n+\t\t\t!internal_cfg->in_memory) {\n \t\tRTE_LOG(ERR, EAL, \"Option --\"OPT_HUGE_UNLINK\" cannot \"\n \t\t\t\"be specified together with --\"OPT_NO_HUGE\"\\n\");\n \t\treturn -1;\n@@ -1330,12 +1338,12 @@ eal_check_common_options(struct internal_config *internal_cfg)\n \tif (internal_config.force_socket_limits && internal_config.legacy_mem) {\n \t\tRTE_LOG(ERR, EAL, \"Option --\"OPT_SOCKET_LIMIT\n \t\t\t\" is only supported in non-legacy memory mode\\n\");\n-\t\treturn -1;\n \t}\n \tif (internal_cfg->single_file_segments &&\n \t\t\tinternal_cfg->hugepage_unlink) {\n \t\tRTE_LOG(ERR, EAL, \"Option --\"OPT_SINGLE_FILE_SEGMENTS\" is \"\n-\t\t\t\"not compatible with --\"OPT_HUGE_UNLINK\"\\n\");\n+\t\t\t\"not compatible with neither --\"OPT_IN_MEMORY\" nor \"\n+\t\t\t\"--\"OPT_HUGE_UNLINK\"\\n\");\n \t\treturn -1;\n \t}\n \n@@ -1386,6 +1394,8 @@ eal_common_usage(void)\n \t       \"                      Set specific log level\\n\"\n \t       \"  -v                  Display version information on startup\\n\"\n \t       \"  -h, --help          This help\\n\"\n+\t       \"  --\"OPT_IN_MEMORY\"   Operate entirely in memory. This will \\n\"\n+\t       \"                      disable secondary process support\\n\"\n \t       \"\\nEAL options for DEBUG use only:\\n\"\n \t       \"  --\"OPT_HUGE_UNLINK\"       Unlink hugepage files after init\\n\"\n \t       \"  --\"OPT_NO_HUGE\"           Use malloc instead of hugetlbfs\\n\"\ndiff --git a/lib/librte_eal/common/eal_internal_cfg.h b/lib/librte_eal/common/eal_internal_cfg.h\nindex d66cd0313..00ee6e06e 100644\n--- a/lib/librte_eal/common/eal_internal_cfg.h\n+++ b/lib/librte_eal/common/eal_internal_cfg.h\n@@ -41,6 +41,10 @@ struct internal_config {\n \tvolatile unsigned vmware_tsc_map; /**< true to use VMware TSC mapping\n \t\t\t\t\t\t\t\t\t\t* instead of native TSC */\n \tvolatile unsigned no_shconf;      /**< true if there is no shared config */\n+\tvolatile unsigned in_memory;\n+\t/**< true if DPDK should operate entirely in-memory and not create any\n+\t * shared files or runtime data.\n+\t */\n \tvolatile unsigned create_uio_dev; /**< true to create /dev/uioX devices */\n \tvolatile enum rte_proc_type_t process_type; /**< multi-process proc type */\n \t/** true to try allocating memory on specific sockets */\ndiff --git a/lib/librte_eal/common/eal_options.h b/lib/librte_eal/common/eal_options.h\nindex 6d92f64a8..96e166787 100644\n--- a/lib/librte_eal/common/eal_options.h\n+++ b/lib/librte_eal/common/eal_options.h\n@@ -45,6 +45,8 @@ enum {\n \tOPT_NO_PCI_NUM,\n #define OPT_NO_SHCONF         \"no-shconf\"\n \tOPT_NO_SHCONF_NUM,\n+#define OPT_IN_MEMORY         \"in-memory\"\n+\tOPT_IN_MEMORY_NUM,\n #define OPT_SOCKET_MEM        \"socket-mem\"\n \tOPT_SOCKET_MEM_NUM,\n #define OPT_SOCKET_LIMIT        \"socket-limit\"\n",
    "prefixes": [
        "v3",
        "7/8"
    ]
}