aboutsummaryrefslogtreecommitdiff
path: root/platform/linux-dpdk/odp_shared_memory.c
diff options
context:
space:
mode:
authorMatias Elo <matias.elo@nokia.com>2018-02-12 12:13:54 +0200
committerMaxim Uvarov <maxim.uvarov@linaro.org>2018-02-19 22:05:22 +0300
commit9f1f212d50d2acbda7919d5bc4b74ea8bcb2ad1b (patch)
tree377e79c47784faee797960d23b3c1e407e0b3adf /platform/linux-dpdk/odp_shared_memory.c
parentf88b7beb810232609018396d81d46b0b59ee6946 (diff)
linux-dpdk: shm: implement odp_shm_print()
Signed-off-by: Matias Elo <matias.elo@nokia.com> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
Diffstat (limited to 'platform/linux-dpdk/odp_shared_memory.c')
-rw-r--r--platform/linux-dpdk/odp_shared_memory.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/platform/linux-dpdk/odp_shared_memory.c b/platform/linux-dpdk/odp_shared_memory.c
index 8cb2b72cc..31096fb85 100644
--- a/platform/linux-dpdk/odp_shared_memory.c
+++ b/platform/linux-dpdk/odp_shared_memory.c
@@ -436,6 +436,34 @@ void odp_shm_print_all(void)
odp_spinlock_unlock(&shm_tbl->lock);
}
+void odp_shm_print(odp_shm_t shm)
+{
+ shm_block_t *block;
+ int idx = handle_to_idx(shm);
+
+ odp_spinlock_lock(&shm_tbl->lock);
+
+ if (!handle_is_valid(shm)) {
+ odp_spinlock_unlock(&shm_tbl->lock);
+ return;
+ }
+
+ block = &shm_tbl->block[idx];
+
+ ODP_PRINT("\nSHM block info\n--------------\n");
+ ODP_PRINT(" name: %s\n", block->name);
+ ODP_PRINT(" type: %s\n", block->type == SHM_TYPE_LOCAL ? "local"
+ : "remote");
+ ODP_PRINT(" flags: 0x%x\n", shm_zone(block->mz)->flags);
+ ODP_PRINT(" start: %p\n", block->mz->addr);
+ ODP_PRINT(" len: %" PRIu64 "\n", shm_size(block->mz));
+ ODP_PRINT(" page size: %" PRIu64 "\n", block->mz->hugepage_sz);
+ ODP_PRINT(" NUMA ID: %" PRIi32 "\n", block->mz->socket_id);
+ ODP_PRINT("\n");
+
+ odp_spinlock_unlock(&shm_tbl->lock);
+}
+
uint64_t odp_shm_to_u64(odp_shm_t hdl)
{
return _odp_pri(hdl);