service: introduce service cores concept
[dpdk.git] / lib / librte_eal / common / eal_common_lcore.c
index 845140b..0db1555 100644 (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;
                }
 
@@ -78,18 +81,20 @@ rte_eal_cpu_init(void)
 
                /* By default, each detected core is enabled */
                config->lcore_role[lcore_id] = ROLE_RTE;
+               lcore_config[lcore_id].core_role = ROLE_RTE;
                lcore_config[lcore_id].core_id = eal_cpu_core_id(lcore_id);
                lcore_config[lcore_id].socket_id = eal_cpu_socket_id(lcore_id);
-               if (lcore_config[lcore_id].socket_id >= RTE_MAX_NUMA_NODES)
+               if (lcore_config[lcore_id].socket_id >= RTE_MAX_NUMA_NODES) {
 #ifdef RTE_EAL_ALLOW_INV_SOCKET_ID
                        lcore_config[lcore_id].socket_id = 0;
 #else
-                       rte_panic("Socket ID (%u) is greater than "
+                       RTE_LOG(ERR, EAL, "Socket ID (%u) is greater than "
                                "RTE_MAX_NUMA_NODES (%d)\n",
                                lcore_config[lcore_id].socket_id,
                                RTE_MAX_NUMA_NODES);
+                       return -1;
 #endif
-
+               }
                RTE_LOG(DEBUG, EAL, "Detected lcore %u as "
                                "core %u on socket %u\n",
                                lcore_id, lcore_config[lcore_id].core_id,
@@ -101,7 +106,7 @@ rte_eal_cpu_init(void)
        RTE_LOG(DEBUG, EAL,
                "Support maximum %u logical core(s) by configuration.\n",
                RTE_MAX_LCORE);
-       RTE_LOG(DEBUG, EAL, "Detected %u lcore(s)\n", config->lcore_count);
+       RTE_LOG(INFO, EAL, "Detected %u lcore(s)\n", config->lcore_count);
 
        return 0;
 }