All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] mem: fix IVSHMEM
@ 2015-08-07 15:27 Sergio Gonzalez Monroy
  2015-08-07 15:27 ` [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 related	[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 [PATCH 1/2] mem: fix IVSHMEM Sergio Gonzalez Monroy
2015-08-07 15:27 ` [PATCH 2/2] mem: fix freeing an IVSHMEM memzone Sergio Gonzalez Monroy
2015-08-10 13:40   ` Thomas Monjalon

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.