Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/2756/?format=api
http://patchwork.dpdk.org/api/patches/2756/?format=api", "web_url": "http://patchwork.dpdk.org/project/dpdk/patch/1422554832-30093-2-git-send-email-thomas.monjalon@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": "<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://patchwork.dpdk.org/api/people/1/?format=api", "name": "Thomas Monjalon", "email": "thomas.monjalon@6wind.com" }, "delegate": null, "mbox": "http://patchwork.dpdk.org/project/dpdk/patch/1422554832-30093-2-git-send-email-thomas.monjalon@6wind.com/mbox/", "series": [], "comments": "http://patchwork.dpdk.org/api/patches/2756/comments/", "check": "pending", "checks": "http://patchwork.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" ] }{ "id": 2756, "url": "