DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH 1/2] mem: fix IVSHMEM
@ 2015-08-07 15:27 Sergio Gonzalez Monroy
  2015-08-07 15:27 ` [dpdk-dev] [PATCH 2/2] mem: fix freeing an IVSHMEM memzone Sergio Gonzalez Monroy
  0 siblings, 1 reply; 3+ messages in thread
From: Sergio Gonzalez Monroy @ 2015-08-07 15:27 UTC (permalink / raw)
  To: dev

After the changes introduced by Dynamic Memzones, all the memsegs were
added to the malloc heap during init.

Those changes did not account for IVSHMEM memsegs which should not be
added to the malloc heap as part of available memory.

Fixes: fafcc11985a2 ("mem: rework memzone to be allocated by malloc")

Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
---
 lib/librte_eal/common/malloc_heap.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/lib/librte_eal/common/malloc_heap.c b/lib/librte_eal/common/malloc_heap.c
index 21d8914..d170d03 100644
--- a/lib/librte_eal/common/malloc_heap.c
+++ b/lib/librte_eal/common/malloc_heap.c
@@ -220,8 +220,17 @@ rte_eal_malloc_heap_init(void)
 
 	for (ms = &mcfg->memseg[0], ms_cnt = 0;
 			(ms_cnt < RTE_MAX_MEMSEG) && (ms->len > 0);
-			ms_cnt++, ms++)
+			ms_cnt++, ms++) {
+#ifdef RTE_LIBRTE_IVSHMEM
+		/*
+		 * if segment has ioremap address set, it's an IVSHMEM segment and
+		 * it is not memory to allocate from.
+		 */
+		if (ms->ioremap_addr != 0)
+			continue;
+#endif
 		malloc_heap_add_memseg(&mcfg->malloc_heaps[ms->socket_id], ms);
+	}
 
 	return 0;
 }
-- 
1.9.3

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2015-08-10 13:41 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-08-07 15:27 [dpdk-dev] [PATCH 1/2] mem: fix IVSHMEM Sergio Gonzalez Monroy
2015-08-07 15:27 ` [dpdk-dev] [PATCH 2/2] mem: fix freeing an IVSHMEM memzone Sergio Gonzalez Monroy
2015-08-10 13:40   ` Thomas Monjalon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).