X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=lib%2Flibrte_eal%2Fcommon%2Feal_private.h;h=ef0c3dff247f95c6c47d2c224400226e4d9dd570;hb=5c307ba2a5b14abb70dcc80a1283ba5a128262d9;hp=0592fcd694e1ecb6170f9d29d4807cb2dcde3207;hpb=694161b7e0658450f3771f5d31000b2554b4694b;p=dpdk.git diff --git a/lib/librte_eal/common/eal_private.h b/lib/librte_eal/common/eal_private.h index 0592fcd694..ef0c3dff24 100644 --- a/lib/librte_eal/common/eal_private.h +++ b/lib/librte_eal/common/eal_private.h @@ -396,6 +396,24 @@ 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. + */ +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 @@ -668,4 +686,60 @@ eal_mem_free(void *virt, size_t size); int eal_mem_set_dump(void *virt, size_t size, bool dump); +/** + * Sets the runtime directory of DPDK + * + * @param run_dir + * The new runtime directory path of DPDK + * @param size + * The size of the new runtime directory path in bytes. + * @return + * 0 on success, (-1) on failure. + */ +int +eal_set_runtime_dir(char *run_dir, size_t size); + +/** + * Get the internal configuration structure. + * + * @return + * A pointer to the internal configuration structure. + */ +struct internal_config * +eal_get_internal_configuration(void); + +/** + * Get the current value of the rte_application_usage pointer + * + * @return + * Pointer to the current value of rte_application_usage . + */ +rte_usage_hook_t +eal_get_application_usage_hook(void); + +/** + * Mark primary process as not supporting multi-process. + */ +bool __rte_mp_disable(void); + +/** + * Instruct primary process that a secondary process wants to attach. + */ +bool __rte_mp_enable(void); + +/** + * Init per-lcore info in current thread. + * + * @param lcore_id + * identifier of lcore. + * @param cpuset + * CPU affinity for this thread. + */ +void __rte_thread_init(unsigned int lcore_id, rte_cpuset_t *cpuset); + +/** + * Uninitialize per-lcore info for current thread. + */ +void __rte_thread_uninit(void); + #endif /* _EAL_PRIVATE_H_ */