X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=lib%2Flibrte_eal%2Fcommon%2Feal_common_memzone.c;h=7c21aa921efcd7905708e8b764d57b2fd6f3377c;hb=e863fe3a13da89787fdf3b5c590101a3c0f10af6;hp=664df5b9ff84fbef6effdbc3eebf0a5062d994cf;hpb=cc8035322384b2454b596ee7e557cae3250f20f1;p=dpdk.git diff --git a/lib/librte_eal/common/eal_common_memzone.c b/lib/librte_eal/common/eal_common_memzone.c index 664df5b9ff..7c21aa921e 100644 --- a/lib/librte_eal/common/eal_common_memzone.c +++ b/lib/librte_eal/common/eal_common_memzone.c @@ -15,15 +15,16 @@ #include #include #include -#include #include #include #include #include +#include #include "malloc_heap.h" #include "malloc_elem.h" #include "eal_private.h" +#include "eal_memcfg.h" static inline const struct rte_memzone * memzone_lookup_thread_unsafe(const char *name) @@ -71,7 +72,9 @@ memzone_reserve_aligned_thread_unsafe(const char *name, size_t len, /* no more room in config */ if (arr->count >= arr->len) { - RTE_LOG(ERR, EAL, "%s(): No more room in config\n", __func__); + RTE_LOG(ERR, EAL, + "%s(): Number of requested memzone segments exceeds RTE_MAX_MEMZONE\n", + __func__); rte_errno = ENOSPC; return NULL; } @@ -171,7 +174,7 @@ memzone_reserve_aligned_thread_unsafe(const char *name, size_t len, return NULL; } - snprintf(mz->name, sizeof(mz->name), "%s", name); + strlcpy(mz->name, name, sizeof(mz->name)); mz->iova = rte_malloc_virt2iova(mz_addr); mz->addr = mz_addr; mz->len = requested_len == 0 ? @@ -199,6 +202,9 @@ rte_memzone_reserve_thread_safe(const char *name, size_t len, int socket_id, mz = memzone_reserve_aligned_thread_unsafe( name, len, socket_id, flags, align, bound); + rte_eal_trace_memzone_reserve(name, len, socket_id, flags, align, + bound, mz); + rte_rwlock_write_unlock(&mcfg->mlock); return mz; @@ -244,6 +250,7 @@ rte_memzone_reserve(const char *name, size_t len, int socket_id, int rte_memzone_free(const struct rte_memzone *mz) { + char name[RTE_MEMZONE_NAMESIZE]; struct rte_mem_config *mcfg; struct rte_fbarray *arr; struct rte_memzone *found_mz; @@ -254,6 +261,7 @@ rte_memzone_free(const struct rte_memzone *mz) if (mz == NULL) return -EINVAL; + rte_strlcpy(name, mz->name, RTE_MEMZONE_NAMESIZE); mcfg = rte_eal_get_configuration()->mem_config; arr = &mcfg->memzones; @@ -278,6 +286,7 @@ rte_memzone_free(const struct rte_memzone *mz) if (addr != NULL) rte_free(addr); + rte_eal_trace_memzone_free(name, addr, ret); return ret; } @@ -298,6 +307,7 @@ rte_memzone_lookup(const char *name) rte_rwlock_read_unlock(&mcfg->mlock); + rte_eal_trace_memzone_lookup(name, memzone); return memzone; }