X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=lib%2Flibrte_eal%2Fcommon%2Feal_common_mcfg.c;h=c77ba97a9f437699bcf0b574abc1195a7fc677e6;hb=e863fe3a13da89787fdf3b5c590101a3c0f10af6;hp=1825d90838b6c68773ab336a93bccd84a1b720e1;hpb=ae3b4bc4fb9ca179eac5c4c9b51b4853b3afe7c7;p=dpdk.git diff --git a/lib/librte_eal/common/eal_common_mcfg.c b/lib/librte_eal/common/eal_common_mcfg.c index 1825d90838..c77ba97a9f 100644 --- a/lib/librte_eal/common/eal_common_mcfg.c +++ b/lib/librte_eal/common/eal_common_mcfg.c @@ -2,24 +2,26 @@ * Copyright(c) 2019 Intel Corporation */ -#include #include #include #include "eal_internal_cfg.h" #include "eal_memcfg.h" +#include "eal_private.h" void eal_mcfg_complete(void) { struct rte_config *cfg = rte_eal_get_configuration(); struct rte_mem_config *mcfg = cfg->mem_config; + struct internal_config *internal_conf = + eal_get_internal_configuration(); /* ALL shared mem_config related INIT DONE */ if (cfg->process_type == RTE_PROC_PRIMARY) mcfg->magic = RTE_MAGIC; - internal_config.init_complete = 1; + internal_conf->init_complete = 1; } void @@ -48,18 +50,22 @@ void eal_mcfg_update_internal(void) { struct rte_mem_config *mcfg = rte_eal_get_configuration()->mem_config; + struct internal_config *internal_conf = + eal_get_internal_configuration(); - internal_config.legacy_mem = mcfg->legacy_mem; - internal_config.single_file_segments = mcfg->single_file_segments; + internal_conf->legacy_mem = mcfg->legacy_mem; + internal_conf->single_file_segments = mcfg->single_file_segments; } void eal_mcfg_update_from_internal(void) { struct rte_mem_config *mcfg = rte_eal_get_configuration()->mem_config; + const struct internal_config *internal_conf = + eal_get_internal_configuration(); - mcfg->legacy_mem = internal_config.legacy_mem; - mcfg->single_file_segments = internal_config.single_file_segments; + mcfg->legacy_mem = internal_conf->legacy_mem; + mcfg->single_file_segments = internal_conf->single_file_segments; /* record current DPDK version */ mcfg->version = RTE_VERSION; } @@ -147,3 +153,24 @@ rte_mcfg_mempool_write_unlock(void) struct rte_mem_config *mcfg = rte_eal_get_configuration()->mem_config; rte_rwlock_write_unlock(&mcfg->mplock); } + +void +rte_mcfg_timer_lock(void) +{ + struct rte_mem_config *mcfg = rte_eal_get_configuration()->mem_config; + rte_spinlock_lock(&mcfg->tlock); +} + +void +rte_mcfg_timer_unlock(void) +{ + struct rte_mem_config *mcfg = rte_eal_get_configuration()->mem_config; + rte_spinlock_unlock(&mcfg->tlock); +} + +bool +rte_mcfg_get_single_file_segments(void) +{ + struct rte_mem_config *mcfg = rte_eal_get_configuration()->mem_config; + return (bool)mcfg->single_file_segments; +}