eal: deduplicate lcore initialization
[dpdk.git] / lib / librte_eal / linuxapp / eal / eal_lcore.c
index 560039b..de5b426 100644 (file)
@@ -52,8 +52,8 @@
 #define NUMA_NODE_PATH "/sys/devices/system/node"
 
 /* Check if a cpu is present by the presence of the cpu information for it */
-static int
-cpu_detected(unsigned lcore_id)
+int
+eal_cpu_detected(unsigned lcore_id)
 {
        char path[PATH_MAX];
        int len = snprintf(path, sizeof(path), SYS_CPU_DIR
@@ -90,8 +90,8 @@ eal_cpu_socket_id(unsigned lcore_id)
 }
 
 /* Get the cpu core id value from the /sys/.../cpuX core_id value */
-static unsigned
-cpu_core_id(unsigned lcore_id)
+unsigned
+eal_cpu_core_id(unsigned lcore_id)
 {
        char path[PATH_MAX];
        unsigned long id;
@@ -108,61 +108,3 @@ err:
                        "for lcore %u - assuming core 0\n", SYS_CPU_DIR, lcore_id);
        return 0;
 }
-
-/*
- * Parse /sys/devices/system/cpu to get the number of physical and logical
- * processors on the machine. The function will fill the cpu_info
- * structure.
- */
-int
-rte_eal_cpu_init(void)
-{
-       /* pointer to global configuration */
-       struct rte_config *config = rte_eal_get_configuration();
-       unsigned lcore_id;
-       unsigned count = 0;
-
-       /*
-        * Parse the maximum set of logical cores, detect the subset of running
-        * ones and enable them by default.
-        */
-       for (lcore_id = 0; lcore_id < RTE_MAX_LCORE; lcore_id++) {
-               /* init cpuset for per lcore config */
-               CPU_ZERO(&lcore_config[lcore_id].cpuset);
-
-               /* in 1:1 mapping, record related cpu detected state */
-               lcore_config[lcore_id].detected = cpu_detected(lcore_id);
-               if (lcore_config[lcore_id].detected == 0) {
-                       config->lcore_role[lcore_id] = ROLE_OFF;
-                       continue;
-               }
-
-               /* By default, lcore 1:1 map to cpu id */
-               CPU_SET(lcore_id, &lcore_config[lcore_id].cpuset);
-
-               /* By default, each detected core is enabled */
-               config->lcore_role[lcore_id] = ROLE_RTE;
-               lcore_config[lcore_id].core_id = 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)
-#ifdef RTE_EAL_ALLOW_INV_SOCKET_ID
-                       lcore_config[lcore_id].socket_id = 0;
-#else
-                       rte_panic("Socket ID (%u) is greater than "
-                               "RTE_MAX_NUMA_NODES (%d)\n",
-                               lcore_config[lcore_id].socket_id, RTE_MAX_NUMA_NODES);
-#endif
-               RTE_LOG(DEBUG, EAL, "Detected lcore %u as core %u on socket %u\n",
-                               lcore_id,
-                               lcore_config[lcore_id].core_id,
-                               lcore_config[lcore_id].socket_id);
-               count ++;
-       }
-       /* Set the count of enabled logical cores of the EAL configuration */
-       config->lcore_count = count;
-       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);
-
-       return 0;
-}