X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=lib%2Flibrte_eal%2Fcommon%2Feal_private.h;h=64cf4e81c831002fd868dcebc7e1c0bc3f76f65d;hb=f2cdd95f2d3f09ed84d33ba62d275e590b10fd67;hp=5d8b53882d685a4bcafab9bde19220fe4a65642a;hpb=266b641ccf18f65f42c0396713bea1f051c9ff96;p=dpdk.git diff --git a/lib/librte_eal/common/eal_private.h b/lib/librte_eal/common/eal_private.h index 5d8b53882d..64cf4e81c8 100644 --- a/lib/librte_eal/common/eal_private.h +++ b/lib/librte_eal/common/eal_private.h @@ -20,8 +20,8 @@ */ struct lcore_config { pthread_t thread_id; /**< pthread identifier */ - int pipe_master2slave[2]; /**< communication pipe with master */ - int pipe_slave2master[2]; /**< communication pipe with master */ + int pipe_main2worker[2]; /**< communication pipe with main */ + int pipe_worker2main[2]; /**< communication pipe with main */ lcore_function_t * volatile f; /**< function to call */ void * volatile arg; /**< argument of function */ @@ -42,7 +42,7 @@ extern struct lcore_config lcore_config[RTE_MAX_LCORE]; * The global RTE configuration structure. */ struct rte_config { - uint32_t master_lcore; /**< Id of the master lcore */ + uint32_t main_lcore; /**< Id of the main lcore */ uint32_t lcore_count; /**< Number of available logical cores. */ uint32_t numa_node_count; /**< Number of detected NUMA nodes. */ uint32_t numa_nodes[RTE_MAX_NUMA_NODES]; /**< List of detected NUMA nodes. */ @@ -79,19 +79,6 @@ struct rte_config *rte_eal_get_configuration(void); */ int rte_eal_memzone_init(void); -/** - * Common log initialization function (private to eal). Determines - * where log data is written when no call to rte_openlog_stream is - * in effect. - * - * @param default_log - * The default log stream to be used. - * @return - * - 0 on success - * - Negative on error - */ -void eal_log_set_default(FILE *default_log); - /** * Fill configuration with number of physical and logical processors * @@ -143,22 +130,6 @@ int rte_eal_memory_init(void); */ int rte_eal_timer_init(void); -/** - * Init the default log stream - * - * This function is private to EAL. - * - * @return - * 0 on success, negative on error - */ -int rte_eal_log_init(const char *id, int facility); - -/** - * Save the log regexp for later - */ -int rte_log_save_regexp(const char *type, int priority); -int rte_log_save_pattern(const char *pattern, int priority); - /** * Init tail queues for non-EAL library structures. This is to allow * the rings, mempools, etc. lists to be shared among multiple processes @@ -396,6 +367,25 @@ uint64_t get_tsc_freq(void); */ uint64_t get_tsc_freq_arch(void); +/** + * Allocate a free lcore to associate to a non-EAL thread. + * + * @return + * - the id of a lcore with role ROLE_NON_EAL on success. + * - RTE_MAX_LCORE if none was available or initializing was refused (see + * rte_lcore_callback_register). + */ +unsigned int eal_lcore_non_eal_allocate(void); + +/** + * Release the lcore used by a non-EAL thread. + * Counterpart of eal_lcore_non_eal_allocate(). + * + * @param lcore_id + * The lcore with role ROLE_NON_EAL to release. + */ +void eal_lcore_non_eal_release(unsigned int lcore_id); + /** * Prepare physical memory mapping * i.e. hugepages on Linux and @@ -414,6 +404,13 @@ int rte_eal_hugepage_init(void); */ int rte_eal_hugepage_attach(void); +/** + * Detaches all memory mappings from a process. + * + * This function is private to the EAL. + */ +int rte_eal_memory_detach(void); + /** * Find a bus capable of identifying a device. * @@ -699,6 +696,11 @@ eal_get_internal_configuration(void); rte_usage_hook_t eal_get_application_usage_hook(void); +/** + * Instruct primary process that a secondary process wants to attach. + */ +bool __rte_mp_enable(void); + /** * Init per-lcore info in current thread. * @@ -709,4 +711,20 @@ eal_get_application_usage_hook(void); */ void __rte_thread_init(unsigned int lcore_id, rte_cpuset_t *cpuset); +/** + * Uninitialize per-lcore info for current thread. + */ +void __rte_thread_uninit(void); + +/** + * asprintf(3) replacement for Windows. + */ +#ifdef RTE_EXEC_ENV_WINDOWS +__rte_format_printf(2, 3) +int eal_asprintf(char **buffer, const char *format, ...); + +#define asprintf(buffer, format, ...) \ + eal_asprintf(buffer, format, ##__VA_ARGS__) +#endif + #endif /* _EAL_PRIVATE_H_ */