[dpdk-dev] [PATCH 2/2] eal: load libraries before creating threads
Damien Millescamps
damien.millescamps at 6wind.com
Wed Jul 10 15:14:53 CEST 2013
We want the threads to inherit any property that could be set while
loading a plugin, such as iopl().
Signed-off-by: Damien Millescamps <damien.millescamps at 6wind.com>
---
lib/librte_eal/linuxapp/eal/eal.c | 24 ++++++++++++------------
1 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/lib/librte_eal/linuxapp/eal/eal.c b/lib/librte_eal/linuxapp/eal/eal.c
index 8ef5671..8cb3f69 100644
--- a/lib/librte_eal/linuxapp/eal/eal.c
+++ b/lib/librte_eal/linuxapp/eal/eal.c
@@ -687,6 +687,18 @@ rte_eal_init(int argc, char **argv)
if (rte_eal_pci_init() < 0)
rte_panic("Cannot init PCI\n");
+ TAILQ_FOREACH(solib, &solib_list, next) {
+ solib->lib_handle = dlopen(solib->name, RTLD_NOW);
+ if ((solib->lib_handle == NULL) && (solib->name[0] != '/')) {
+ /* relative path: try again with "./" prefix */
+ char sopath[PATH_MAX];
+ snprintf(sopath, sizeof(sopath), "./%s", solib->name);
+ solib->lib_handle = dlopen(sopath, RTLD_NOW);
+ }
+ if (solib->lib_handle == NULL)
+ RTE_LOG(WARNING, EAL, "%s\n", dlerror());
+ }
+
RTE_LOG(DEBUG, EAL, "Master core %u is ready (tid=%x)\n",
rte_config.master_lcore, (int)thread_id);
@@ -712,18 +724,6 @@ rte_eal_init(int argc, char **argv)
eal_thread_init_master(rte_config.master_lcore);
- TAILQ_FOREACH(solib, &solib_list, next) {
- solib->lib_handle = dlopen(solib->name, RTLD_NOW);
- if ((solib->lib_handle == NULL) && (solib->name[0] != '/')) {
- /* relative path: try again with "./" prefix */
- char sopath[PATH_MAX];
- snprintf(sopath, sizeof(sopath), "./%s", solib->name);
- solib->lib_handle = dlopen(sopath, RTLD_NOW);
- }
- if (solib->lib_handle == NULL)
- RTE_LOG(WARNING, EAL, "%s\n", dlerror());
- }
-
return fctret;
}
--
1.7.2.5
More information about the dev
mailing list