get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 2756,
    "url": "http://patches.dpdk.org/api/patches/2756/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/1422554832-30093-2-git-send-email-thomas.monjalon@6wind.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": "<1422554832-30093-2-git-send-email-thomas.monjalon@6wind.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1422554832-30093-2-git-send-email-thomas.monjalon@6wind.com",
    "date": "2015-01-29T18:07:11",
    "name": "[dpdk-dev,1/2] eal: sort and align options lists",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "8ad0dc9f71a1998e986683de370007593c16fac8",
    "submitter": {
        "id": 1,
        "url": "http://patches.dpdk.org/api/people/1/?format=api",
        "name": "Thomas Monjalon",
        "email": "thomas.monjalon@6wind.com"
    },
    "delegate": null,
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/1422554832-30093-2-git-send-email-thomas.monjalon@6wind.com/mbox/",
    "series": [],
    "comments": "http://patches.dpdk.org/api/patches/2756/comments/",
    "check": "pending",
    "checks": "http://patches.dpdk.org/api/patches/2756/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 67BE65A8E;\n\tThu, 29 Jan 2015 19:07:55 +0100 (CET)",
            "from mail-wg0-f49.google.com (mail-wg0-f49.google.com\n\t[74.125.82.49]) by dpdk.org (Postfix) with ESMTP id 3499F5A85\n\tfor <dev@dpdk.org>; Thu, 29 Jan 2015 19:07:49 +0100 (CET)",
            "by mail-wg0-f49.google.com with SMTP id k14so23846216wgh.8\n\tfor <dev@dpdk.org>; Thu, 29 Jan 2015 10:07:49 -0800 (PST)",
            "from localhost.localdomain (136-92-190-109.dsl.ovh.fr.\n\t[109.190.92.136]) by mx.google.com with ESMTPSA id\n\thr1sm3468205wib.1.2015.01.29.10.07.47 for <dev@dpdk.org>\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128);\n\tThu, 29 Jan 2015 10:07:48 -0800 (PST)"
        ],
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20130820;\n\th=x-gm-message-state:from:to:subject:date:message-id:in-reply-to\n\t:references;\n\tbh=tr9gNo9BRAtNSiX7srxZjG/h1eLdubQrp7Z4AfgMGwo=;\n\tb=Xw66VkO9tqrMJWNiFR4E4yDlB/bjWkbkRZtnOyAUKGDoe076ZQiT6L0/DLdFrNfuWP\n\tDTsV7WAIa9zVxgU9U4QWHb5yqnn1D0dssG3FsZXIvUA1AExgfQKUhOJmjkirj79l7YiC\n\tDUupF8jK0EcyY6nTyio0lu98H9xCR3dANGCDkTmZuVwZ1lS2V+4SULgeLCOnPLtAprRl\n\t5UEelKIKA/XKYv+JoioPGseoRbWBOhiGBZkYFw1ljPQIukKp12/Y/zew5PhxHYcyOzfO\n\tOyRW/FOl/UUS9nsY/0uG2KIvezpPA0b/luS0FlQCcL9Ti4/exVg5rBJwqCd67Mg9r5gR\n\t8g0A==",
        "X-Gm-Message-State": "ALoCoQl7gTvSoz38/khO6XzhVOh7LmnTH3duroxAw1m4poo7r5k2aLalYHSP1AV09pkx7NKxOtRx",
        "X-Received": "by 10.194.122.38 with SMTP id lp6mr3771980wjb.24.1422554869035; \n\tThu, 29 Jan 2015 10:07:49 -0800 (PST)",
        "From": "Thomas Monjalon <thomas.monjalon@6wind.com>",
        "To": "dev@dpdk.org",
        "Date": "Thu, 29 Jan 2015 19:07:11 +0100",
        "Message-Id": "<1422554832-30093-2-git-send-email-thomas.monjalon@6wind.com>",
        "X-Mailer": "git-send-email 2.2.2",
        "In-Reply-To": "<1422554832-30093-1-git-send-email-thomas.monjalon@6wind.com>",
        "References": "<1422554832-30093-1-git-send-email-thomas.monjalon@6wind.com>",
        "Subject": "[dpdk-dev] [PATCH 1/2] eal: sort and align options lists",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "patches and discussions about DPDK <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": "Options listing in usage help was a mess.\nThe main usage line is fixed and shorter.\nThe options in usage output are logically sorted (cpu/mem/dev/proc),\naligned and lightly reworded.\nThe options in declarations are alphabetically sorted.\nCode in swith statement is not moved.\n\nSigned-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>\n---\n lib/librte_eal/common/eal_common_options.c | 112 ++++++++++++++---------------\n lib/librte_eal/linuxapp/eal/eal.c          |  19 +++--\n 2 files changed, 64 insertions(+), 67 deletions(-)",
    "diff": "diff --git a/lib/librte_eal/common/eal_common_options.c b/lib/librte_eal/common/eal_common_options.c\nindex 67e02dc..4890e78 100644\n--- a/lib/librte_eal/common/eal_common_options.c\n+++ b/lib/librte_eal/common/eal_common_options.c\n@@ -55,37 +55,38 @@\n const char\n eal_short_options[] =\n \t\"b:\" /* pci-blacklist */\n-\t\"w:\" /* pci-whitelist */\n \t\"c:\" /* coremask */\n-\t\"d:\"\n+\t\"d:\" /* driver */\n \t\"l:\" /* corelist */\n-\t\"m:\"\n-\t\"n:\"\n-\t\"r:\"\n-\t\"v\";\n+\t\"m:\" /* memory size */\n+\t\"n:\" /* memory channels */\n+\t\"r:\" /* memory ranks */\n+\t\"v\"  /* version */\n+\t\"w:\" /* pci-whitelist */\n+\t;\n \n const struct option\n eal_long_options[] = {\n-\t{OPT_HUGE_DIR, 1, 0, OPT_HUGE_DIR_NUM},\n-\t{OPT_MASTER_LCORE, 1, 0, OPT_MASTER_LCORE_NUM},\n-\t{OPT_PROC_TYPE, 1, 0, OPT_PROC_TYPE_NUM},\n-\t{OPT_NO_SHCONF, 0, 0, OPT_NO_SHCONF_NUM},\n-\t{OPT_NO_HPET, 0, 0, OPT_NO_HPET_NUM},\n-\t{OPT_VMWARE_TSC_MAP, 0, 0, OPT_VMWARE_TSC_MAP_NUM},\n-\t{OPT_NO_PCI, 0, 0, OPT_NO_PCI_NUM},\n-\t{OPT_NO_HUGE, 0, 0, OPT_NO_HUGE_NUM},\n-\t{OPT_FILE_PREFIX, 1, 0, OPT_FILE_PREFIX_NUM},\n-\t{OPT_SOCKET_MEM, 1, 0, OPT_SOCKET_MEM_NUM},\n-\t{OPT_PCI_WHITELIST, 1, 0, OPT_PCI_WHITELIST_NUM},\n-\t{OPT_PCI_BLACKLIST, 1, 0, OPT_PCI_BLACKLIST_NUM},\n-\t{OPT_VDEV, 1, 0, OPT_VDEV_NUM},\n-\t{OPT_SYSLOG, 1, NULL, OPT_SYSLOG_NUM},\n-\t{OPT_LOG_LEVEL, 1, NULL, OPT_LOG_LEVEL_NUM},\n-\t{OPT_BASE_VIRTADDR, 1, 0, OPT_BASE_VIRTADDR_NUM},\n-\t{OPT_XEN_DOM0, 0, 0, OPT_XEN_DOM0_NUM},\n-\t{OPT_CREATE_UIO_DEV, 1, NULL, OPT_CREATE_UIO_DEV_NUM},\n-\t{OPT_VFIO_INTR, 1, NULL, OPT_VFIO_INTR_NUM},\n-\t{0, 0, 0, 0}\n+\t{OPT_BASE_VIRTADDR,     1, NULL, OPT_BASE_VIRTADDR_NUM    },\n+\t{OPT_CREATE_UIO_DEV,    1, NULL, OPT_CREATE_UIO_DEV_NUM   },\n+\t{OPT_FILE_PREFIX,       1, NULL, OPT_FILE_PREFIX_NUM      },\n+\t{OPT_HUGE_DIR,          1, NULL, OPT_HUGE_DIR_NUM         },\n+\t{OPT_LOG_LEVEL,         1, NULL, OPT_LOG_LEVEL_NUM        },\n+\t{OPT_MASTER_LCORE,      1, NULL, OPT_MASTER_LCORE_NUM     },\n+\t{OPT_NO_HPET,           0, NULL, OPT_NO_HPET_NUM          },\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_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+\t{OPT_SOCKET_MEM,        1, NULL, OPT_SOCKET_MEM_NUM       },\n+\t{OPT_SYSLOG,            1, NULL, OPT_SYSLOG_NUM           },\n+\t{OPT_VDEV,              1, NULL, OPT_VDEV_NUM             },\n+\t{OPT_VFIO_INTR,         1, NULL, OPT_VFIO_INTR_NUM        },\n+\t{OPT_VMWARE_TSC_MAP,    0, NULL, OPT_VMWARE_TSC_MAP_NUM   },\n+\t{OPT_XEN_DOM0,          0, NULL, OPT_XEN_DOM0_NUM         },\n+\t{0,                     0, NULL, 0                        }\n };\n \n static int lcores_parsed;\n@@ -578,37 +579,36 @@ eal_check_common_options(struct internal_config *internal_cfg)\n void\n eal_common_usage(void)\n {\n-\tprintf(\"-c COREMASK -n NUM [-m NB] [-r NUM] [-b <domain:bus:devid.func>]\"\n-\t       \"[--proc-type primary|secondary|auto]\\n\\n\"\n+\tprintf(\"-c COREMASK|-l CORELIST -n CHANNELS [options]\\n\\n\"\n \t       \"EAL common options:\\n\"\n-\t       \"  -c COREMASK  : A hexadecimal bitmask of cores to run on\\n\"\n-\t       \"  -l CORELIST  : List of cores to run on\\n\"\n-\t       \"                 The argument format is <c1>[-c2][,c3[-c4],...]\\n\"\n-\t       \"                 where c1, c2, etc are core indexes between 0 and %d\\n\"\n-\t       \"  --\"OPT_MASTER_LCORE\" ID: Core ID that is used as master\\n\"\n-\t       \"  -n NUM       : Number of memory channels\\n\"\n-\t       \"  -v           : Display version information on startup\\n\"\n-\t       \"  -m MB        : memory to allocate (see also --\"OPT_SOCKET_MEM\")\\n\"\n-\t       \"  -r NUM       : force number of memory ranks (don't detect)\\n\"\n-\t       \"  --\"OPT_SYSLOG\"     : set syslog facility\\n\"\n-\t       \"  --\"OPT_LOG_LEVEL\"  : set default log level\\n\"\n-\t       \"  --\"OPT_PROC_TYPE\"  : type of this process\\n\"\n-\t       \"  --\"OPT_PCI_BLACKLIST\", -b: add a PCI device in black list.\\n\"\n-\t       \"               Prevent EAL from using this PCI device. The argument\\n\"\n-\t       \"               format is <domain:bus:devid.func>.\\n\"\n-\t       \"  --\"OPT_PCI_WHITELIST\", -w: add a PCI device in white list.\\n\"\n-\t       \"               Only use the specified PCI devices. The argument format\\n\"\n-\t       \"               is <[domain:]bus:devid.func>. This option can be present\\n\"\n-\t       \"               several times (once per device).\\n\"\n-\t       \"               [NOTE: PCI whitelist cannot be used with -b option]\\n\"\n-\t       \"  --\"OPT_VDEV\": add a virtual device.\\n\"\n-\t       \"               The argument format is <driver><id>[,key=val,...]\\n\"\n-\t       \"               (ex: --vdev=eth_pcap0,iface=eth2).\\n\"\n-\t       \"  --\"OPT_VMWARE_TSC_MAP\": use VMware TSC map instead of native RDTSC\\n\"\n+\t       \"  -c COREMASK         Hexadecimal bitmask of cores to run on\\n\"\n+\t       \"  -l CORELIST         List of cores to run on\\n\"\n+\t       \"                      The argument format is <c1>[-c2][,c3[-c4],...]\\n\"\n+\t       \"                      where c1, c2, etc are core indexes between 0 and %d\\n\"\n+\t       \"  --\"OPT_MASTER_LCORE\" ID   Core ID that is used as master\\n\"\n+\t       \"  -n NUM              Number of memory channels\\n\"\n+\t       \"  -m MB               Memory to allocate (see also --\"OPT_SOCKET_MEM\")\\n\"\n+\t       \"  -r NUM              Force number of memory ranks (don't detect)\\n\"\n+\t       \"  -b, --\"OPT_PCI_BLACKLIST\" Add a PCI device in black list.\\n\"\n+\t       \"                      Prevent EAL from using this PCI device. The argument\\n\"\n+\t       \"                      format is <domain:bus:devid.func>.\\n\"\n+\t       \"  -w, --\"OPT_PCI_WHITELIST\" Add a PCI device in white list.\\n\"\n+\t       \"                      Only use the specified PCI devices. The argument format\\n\"\n+\t       \"                      is <[domain:]bus:devid.func>. This option can be present\\n\"\n+\t       \"                      several times (once per device).\\n\"\n+\t       \"                      [NOTE: PCI whitelist cannot be used with -b option]\\n\"\n+\t       \"  --\"OPT_VDEV\"              Add a virtual device.\\n\"\n+\t       \"                      The argument format is <driver><id>[,key=val,...]\\n\"\n+\t       \"                      (ex: --vdev=eth_pcap0,iface=eth2).\\n\"\n+\t       \"  --\"OPT_VMWARE_TSC_MAP\"    Use VMware TSC map instead of native RDTSC\\n\"\n+\t       \"  --\"OPT_PROC_TYPE\"         Type of this process (primary|secondary|auto)\\n\"\n+\t       \"  --\"OPT_SYSLOG\"            Set syslog facility\\n\"\n+\t       \"  --\"OPT_LOG_LEVEL\"         Set default log level\\n\"\n+\t       \"  -v                  Display version information on startup\\n\"\n \t       \"\\nEAL options for DEBUG use only:\\n\"\n-\t       \"  --\"OPT_NO_HUGE\"  : use malloc instead of hugetlbfs\\n\"\n-\t       \"  --\"OPT_NO_PCI\"   : disable pci\\n\"\n-\t       \"  --\"OPT_NO_HPET\"  : disable hpet\\n\"\n-\t       \"  --\"OPT_NO_SHCONF\": no shared config (mmap'd files)\\n\"\n+\t       \"  --\"OPT_NO_HUGE\"           Use malloc instead of hugetlbfs\\n\"\n+\t       \"  --\"OPT_NO_PCI\"            Disable PCI\\n\"\n+\t       \"  --\"OPT_NO_HPET\"           Disable HPET\\n\"\n+\t       \"  --\"OPT_NO_SHCONF\"         No shared config (mmap'd files)\\n\"\n \t       \"\\n\", RTE_MAX_LCORE);\n }\ndiff --git a/lib/librte_eal/linuxapp/eal/eal.c b/lib/librte_eal/linuxapp/eal/eal.c\nindex f99e158..e3955e7 100644\n--- a/lib/librte_eal/linuxapp/eal/eal.c\n+++ b/lib/librte_eal/linuxapp/eal/eal.c\n@@ -352,17 +352,14 @@ eal_usage(const char *prgname)\n \tprintf(\"\\nUsage: %s \", prgname);\n \teal_common_usage();\n \tprintf(\"EAL Linux options:\\n\"\n-\t       \"  -d LIB.so    : add driver (can be used multiple times)\\n\"\n-\t       \"  --\"OPT_XEN_DOM0\" : support application running on Xen Domain0 \"\n-\t\t\t   \"without hugetlbfs\\n\"\n-\t       \"  --\"OPT_SOCKET_MEM\" : memory to allocate on specific\\n\"\n-\t\t   \"                 sockets (use comma separated values)\\n\"\n-\t       \"  --\"OPT_HUGE_DIR\"   : directory where hugetlbfs is mounted\\n\"\n-\t       \"  --\"OPT_FILE_PREFIX\": prefix for hugepage filenames\\n\"\n-\t       \"  --\"OPT_BASE_VIRTADDR\": specify base virtual address\\n\"\n-\t       \"  --\"OPT_VFIO_INTR\": specify desired interrupt mode for VFIO \"\n-\t\t\t   \"(legacy|msi|msix)\\n\"\n-\t       \"  --\"OPT_CREATE_UIO_DEV\": create /dev/uioX (usually done by hotplug)\\n\"\n+\t       \"  -d LIB.so           Add driver (can be used multiple times)\\n\"\n+\t       \"  --\"OPT_SOCKET_MEM\"        Memory to allocate on sockets (comma separated values)\\n\"\n+\t       \"  --\"OPT_HUGE_DIR\"          Directory where hugetlbfs is mounted\\n\"\n+\t       \"  --\"OPT_FILE_PREFIX\"       Prefix for hugepage filenames\\n\"\n+\t       \"  --\"OPT_BASE_VIRTADDR\"     Base virtual address\\n\"\n+\t       \"  --\"OPT_CREATE_UIO_DEV\"    Create /dev/uioX (usually done by hotplug)\\n\"\n+\t       \"  --\"OPT_VFIO_INTR\"         Interrupt mode for VFIO (legacy|msi|msix)\\n\"\n+\t       \"  --\"OPT_XEN_DOM0\"          Support running on Xen dom0 without hugetlbfs\\n\"\n \t       \"\\n\");\n \t/* Allow the application to print its usage message too if hook is set */\n \tif ( rte_application_usage_hook ) {\n",
    "prefixes": [
        "dpdk-dev",
        "1/2"
    ]
}