eal: default to using all cores

This is a useful default for simple applications where the assignment
of lcores to CPUs doesn't matter. It's also useful for more complex
applications that automatically assign tasks to cores based on the
NUMA topology.

Signed-off-by: Rich Lane <rich.lane@bigswitch.com>
This commit is contained in:
Rich Lane 2015-09-25 13:37:16 -07:00 committed by Thomas Monjalon
parent 19bfa4ddb1
commit 4fce65a6be
5 changed files with 13 additions and 14 deletions

View File

@ -571,11 +571,16 @@ test_missing_c_flag(void)
"-n", "3", "--lcores",
"0-1,2@(5-7),(3-5)@(0,2),(0,6),7"};
if (launch_proc(argv2) != 0) {
printf("Error - "
"process did not run ok when missing -c flag\n");
return -1;
}
if (launch_proc(argv1) == 0
|| launch_proc(argv2) == 0
|| launch_proc(argv3) == 0) {
printf("Error - "
"process ran without error when missing -c flag\n");
"process ran without error with invalid -c flag\n");
return -1;
}
if (launch_proc(argv4) != 0) {

View File

@ -114,7 +114,7 @@ The following is the list of options that can be given to the EAL:
.. code-block:: console
./rte-app -c COREMASK -n NUM [-b <domain:bus:devid.func>] [-r NUM] [-v] [--proc-type <primary|secondary|auto>]
./rte-app -n NUM [-c COREMASK] [-b <domain:bus:devid.func>] [-r NUM] [-v] [--proc-type <primary|secondary|auto>]
.. note::

View File

@ -109,7 +109,7 @@ The following is the list of options that can be given to the EAL:
.. code-block:: console
./rte-app -c COREMASK -n NUM [-b <domain:bus:devid.func>] [--socket-mem=MB,...] [-m MB] [-r NUM] [-v] [--file-prefix] [--proc-type <primary|secondary|auto>] [-- xen-dom0]
./rte-app -n NUM [-c COREMASK] [-b <domain:bus:devid.func>] [--socket-mem=MB,...] [-m MB] [-r NUM] [-v] [--file-prefix] [--proc-type <primary|secondary|auto>] [-- xen-dom0]
The EAL options are as follows:

View File

@ -63,6 +63,8 @@ rte_eal_cpu_init(void)
* ones and enable them by default.
*/
for (lcore_id = 0; lcore_id < RTE_MAX_LCORE; lcore_id++) {
lcore_config[lcore_id].core_index = count;
/* init cpuset for per lcore config */
CPU_ZERO(&lcore_config[lcore_id].cpuset);
@ -70,6 +72,7 @@ rte_eal_cpu_init(void)
lcore_config[lcore_id].detected = eal_cpu_detected(lcore_id);
if (lcore_config[lcore_id].detected == 0) {
config->lcore_role[lcore_id] = ROLE_OFF;
lcore_config[lcore_id].core_index = -1;
continue;
}

View File

@ -93,7 +93,6 @@ eal_long_options[] = {
{0, 0, NULL, 0 }
};
static int lcores_parsed;
static int master_lcore_parsed;
static int mem_parsed;
@ -212,7 +211,6 @@ eal_parse_coremask(const char *coremask)
return -1;
/* Update the count of enabled logical cores of the EAL configuration */
cfg->lcore_count = count;
lcores_parsed = 1;
return 0;
}
@ -279,7 +277,6 @@ eal_parse_corelist(const char *corelist)
/* Update the count of enabled logical cores of the EAL configuration */
cfg->lcore_count = count;
lcores_parsed = 1;
return 0;
}
@ -569,7 +566,6 @@ eal_parse_lcores(const char *lcores)
goto err;
cfg->lcore_count = count;
lcores_parsed = 1;
ret = 0;
err:
@ -820,11 +816,6 @@ eal_check_common_options(struct internal_config *internal_cfg)
{
struct rte_config *cfg = rte_eal_get_configuration();
if (!lcores_parsed) {
RTE_LOG(ERR, EAL, "CPU cores must be enabled with options "
"-c, -l or --lcores\n");
return -1;
}
if (cfg->lcore_role[cfg->master_lcore] != ROLE_RTE) {
RTE_LOG(ERR, EAL, "Master lcore is not enabled for DPDK\n");
return -1;
@ -863,7 +854,7 @@ eal_check_common_options(struct internal_config *internal_cfg)
void
eal_common_usage(void)
{
printf("-c COREMASK|-l CORELIST [options]\n\n"
printf("[options]\n\n"
"EAL common options:\n"
" -c COREMASK Hexadecimal bitmask of cores to run on\n"
" -l CORELIST List of cores to run on\n"