eal: check coremask against detected lcores
lcores that are set in coremask should be checked against lcores detected on system. This way, we won't need to check them later. Besides, if specifying an unavailable lcore, we currently panic in eal_thread_loop() because pthread_setaffinity_np fails. So this check will return an error with a more explicit message in eal_parse_coremask(). "EAL: pthread_setaffinity_np failed PANIC in eal_thread_loop(): cannot set affinity" becomes : "EAL: lcore 4 unavailable EAL: invalid coremask" Signed-off-by: David Marchand <david.marchand@6wind.com> Acked-by: Neil Horman <nhorman@tuxdriver.com>
This commit is contained in:
parent
5d52944803
commit
4f04db8b89
@ -441,6 +441,11 @@ eal_parse_coremask(const char *coremask)
|
||||
val = xdigit2val(c);
|
||||
for(j = 0; j < BITS_PER_HEX && idx < RTE_MAX_LCORE; j++, idx++) {
|
||||
if((1 << j) & val) {
|
||||
if (!lcore_config[idx].detected) {
|
||||
RTE_LOG(ERR, EAL, "lcore %u "
|
||||
"unavailable\n", idx);
|
||||
return -1;
|
||||
}
|
||||
cfg->lcore_role[idx] = ROLE_RTE;
|
||||
if(count == 0)
|
||||
cfg->master_lcore = idx;
|
||||
|
Loading…
Reference in New Issue
Block a user