eal: fix check when retrieving current CPU affinity
pthread_getaffinity_np returns a >0 value when failing. This is mainly for the sake of correctness. The only case where it could fail is when passing an incorrect cpuset size wrt to the kernel. Fixes: 2eba8d21f3c9 ("eal: restrict cores auto detection") Cc: stable@dpdk.org Signed-off-by: David Marchand <david.marchand@redhat.com> Reviewed-by: Anatoly Burakov <anatoly.burakov@intel.com> Reviewed-by: Rami Rosen <ramirose@gmail.com>
This commit is contained in:
parent
e892fa595e
commit
b206376438
@ -1343,10 +1343,9 @@ eal_auto_detect_cores(struct rte_config *cfg)
|
||||
unsigned int lcore_id;
|
||||
unsigned int removed = 0;
|
||||
rte_cpuset_t affinity_set;
|
||||
pthread_t tid = pthread_self();
|
||||
|
||||
if (pthread_getaffinity_np(tid, sizeof(rte_cpuset_t),
|
||||
&affinity_set) < 0)
|
||||
if (pthread_getaffinity_np(pthread_self(), sizeof(rte_cpuset_t),
|
||||
&affinity_set))
|
||||
CPU_ZERO(&affinity_set);
|
||||
|
||||
for (lcore_id = 0; lcore_id < RTE_MAX_LCORE; lcore_id++) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user