int rte_dpaa_portal_init(void *arg)
{
- cpu_set_t cpuset;
pthread_t id;
- uint32_t cpu = rte_lcore_id();
+ unsigned int cpu, lcore = rte_lcore_id();
int ret;
struct dpaa_portal *dpaa_io_portal;
BUS_INIT_FUNC_TRACE();
- if ((size_t)arg == 1 || cpu == LCORE_ID_ANY)
- cpu = rte_get_master_lcore();
- /* if the core id is not supported */
+ if ((size_t)arg == 1 || lcore == LCORE_ID_ANY)
+ lcore = rte_get_master_lcore();
else
- if (cpu >= RTE_MAX_LCORE)
+ if (lcore >= RTE_MAX_LCORE)
return -1;
- /* Set CPU affinity for this thread */
- CPU_ZERO(&cpuset);
- CPU_SET(cpu, &cpuset);
+ cpu = lcore_config[lcore].core_id;
+
+ /* Set CPU affinity for this thread.*/
id = pthread_self();
- ret = pthread_setaffinity_np(id, sizeof(cpu_set_t), &cpuset);
+ ret = pthread_setaffinity_np(id, sizeof(cpu_set_t),
+ &lcore_config[lcore].cpuset);
if (ret) {
- DPAA_BUS_LOG(ERR, "pthread_setaffinity_np failed on "
- "core :%d with ret: %d", cpu, ret);
+ DPAA_BUS_LOG(ERR, "pthread_setaffinity_np failed on core :%u"
+ " (lcore=%u) with ret: %d", cpu, lcore, ret);
return ret;
}
/* Initialise bman thread portals */
ret = bman_thread_init();
if (ret) {
- DPAA_BUS_LOG(ERR, "bman_thread_init failed on "
- "core %d with ret: %d", cpu, ret);
+ DPAA_BUS_LOG(ERR, "bman_thread_init failed on core %u"
+ " (lcore=%u) with ret: %d", cpu, lcore, ret);
return ret;
}
- DPAA_BUS_LOG(DEBUG, "BMAN thread initialized");
+ DPAA_BUS_LOG(DEBUG, "BMAN thread initialized - CPU=%d lcore=%d",
+ cpu, lcore);
/* Initialise qman thread portals */
ret = qman_thread_init();
if (ret) {
- DPAA_BUS_LOG(ERR, "bman_thread_init failed on "
- "core %d with ret: %d", cpu, ret);
+ DPAA_BUS_LOG(ERR, "qman_thread_init failed on core %u"
+ " (lcore=%u) with ret: %d", cpu, lcore, ret);
bman_thread_finish();
return ret;
}
- DPAA_BUS_LOG(DEBUG, "QMAN thread initialized");
+ DPAA_BUS_LOG(DEBUG, "QMAN thread initialized - CPU=%d lcore=%d",
+ cpu, lcore);
dpaa_io_portal = rte_malloc(NULL, sizeof(struct dpaa_portal),
RTE_CACHE_LINE_SIZE);
ret = pthread_setspecific(dpaa_portal_key, (void *)dpaa_io_portal);
if (ret) {
- DPAA_BUS_LOG(ERR, "pthread_setspecific failed on "
- "core %d with ret: %d", cpu, ret);
+ DPAA_BUS_LOG(ERR, "pthread_setspecific failed on core %u"
+ " (lcore=%u) with ret: %d", cpu, lcore, ret);
dpaa_portal_finish(NULL);
return ret;