From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id C9ABC595C for ; Fri, 7 Aug 2015 17:27:35 +0200 (CEST) Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga102.fm.intel.com with ESMTP; 07 Aug 2015 08:27:34 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.15,630,1432623600"; d="scan'208";a="621233618" Received: from irvmail001.ir.intel.com ([163.33.26.43]) by orsmga003.jf.intel.com with ESMTP; 07 Aug 2015 08:27:34 -0700 Received: from sivswdev02.ir.intel.com (sivswdev02.ir.intel.com [10.237.217.46]) by irvmail001.ir.intel.com (8.14.3/8.13.6/MailSET/Hub) with ESMTP id t77FRXe5002602 for ; Fri, 7 Aug 2015 16:27:33 +0100 Received: from sivswdev02.ir.intel.com (localhost [127.0.0.1]) by sivswdev02.ir.intel.com with ESMTP id t77FRXqQ004054 for ; Fri, 7 Aug 2015 16:27:33 +0100 Received: (from smonroy@localhost) by sivswdev02.ir.intel.com with id t77FRXAO004050 for dev@dpdk.org; Fri, 7 Aug 2015 16:27:33 +0100 From: Sergio Gonzalez Monroy To: dev@dpdk.org Date: Fri, 7 Aug 2015 16:27:32 +0100 Message-Id: <1438961253-4011-1-git-send-email-sergio.gonzalez.monroy@intel.com> X-Mailer: git-send-email 1.8.5.4 Subject: [dpdk-dev] [PATCH 1/2] mem: fix IVSHMEM X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Aug 2015 15:27:36 -0000 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 --- 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