From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by dpdk.org (Postfix) with ESMTP id 22403C936 for ; Fri, 26 Jun 2015 18:13:42 +0200 (CEST) Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga103.jf.intel.com with ESMTP; 26 Jun 2015 09:13:26 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.13,686,1427785200"; d="scan'208";a="735316592" Received: from irsmsx103.ger.corp.intel.com ([163.33.3.157]) by fmsmga001.fm.intel.com with ESMTP; 26 Jun 2015 09:13:25 -0700 Received: from irsmsx105.ger.corp.intel.com ([169.254.7.245]) by IRSMSX103.ger.corp.intel.com ([169.254.3.216]) with mapi id 14.03.0224.002; Fri, 26 Jun 2015 17:13:24 +0100 From: "Ananyev, Konstantin" To: "Gonzalez Monroy, Sergio" , "dev@dpdk.org" Thread-Topic: [dpdk-dev] [PATCH v6 0/9] Dynamic memzones Thread-Index: AQHQsCUODyDVf1E0h0aVCeSy3HNAgJ2+9ZhA Date: Fri, 26 Jun 2015 16:13:23 +0000 Message-ID: <2601191342CEEE43887BDE71AB97725836A1E9A0@irsmsx105.ger.corp.intel.com> References: <1433586732-28217-1-git-send-email-sergio.gonzalez.monroy@intel.com> <1435332578-28415-1-git-send-email-sergio.gonzalez.monroy@intel.com> In-Reply-To: <1435332578-28415-1-git-send-email-sergio.gonzalez.monroy@intel.com> Accept-Language: en-IE, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [163.33.239.182] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH v6 0/9] Dynamic memzones 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, 26 Jun 2015 16:13:44 -0000 > -----Original Message----- > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Sergio Gonzalez Monr= oy > Sent: Friday, June 26, 2015 4:29 PM > To: dev@dpdk.org > Subject: [dpdk-dev] [PATCH v6 0/9] Dynamic memzones >=20 > Current implemetation allows reserving/creating memzones but not the oppo= site > (unreserve/free). This affects mempools and other memzone based objects. >=20 > From my point of view, implementing free functionality for memzones would= look > like malloc over memsegs. > Thus, this approach moves malloc inside eal (which in turn removes a circ= ular > dependency), where malloc heaps are composed of memsegs. > We keep both malloc and memzone APIs as they are, but memzones allocate i= ts > memory by calling malloc_heap_alloc. > Some extra functionality is required in malloc to allow for boundary cons= trained > memory requests. > In summary, currently malloc is based on memzones, and with this approach > memzones are based on malloc. >=20 > v6: > - fix bad patch for rte_memzone_free >=20 > v5: > - Fix rte_memzone_free > - Improve rte_memzone_free unit test >=20 > v4: > - Rebase and fix couple of merge issues >=20 > v3: > - Create dummy librte_malloc > - Add deprecation notice > - Rework some of the code > - Doc update > - checkpatch >=20 > v2: > - New rte_memzone_free > - Support memzone len =3D 0 > - Add all available memsegs to malloc heap at init > - Update memzone/malloc unit tests >=20 > Sergio Gonzalez Monroy (9): > eal: move librte_malloc to eal/common > eal: memzone allocated by malloc > app/test: update malloc/memzone unit tests > config: remove CONFIG_RTE_MALLOC_MEMZONE_SIZE > eal: remove free_memseg and references to it > eal: new rte_memzone_free > app/test: rte_memzone_free unit test > doc: announce ABI change of librte_malloc > doc: update malloc documentation >=20 > MAINTAINERS | 9 +- > app/test/test_malloc.c | 86 ---- > app/test/test_memzone.c | 456 ++++------------= ------ > config/common_bsdapp | 8 +- > config/common_linuxapp | 8 +- > doc/guides/prog_guide/env_abstraction_layer.rst | 220 ++++++++++- > doc/guides/prog_guide/img/malloc_heap.png | Bin 81329 -> 80952 b= ytes > doc/guides/prog_guide/index.rst | 1 - > doc/guides/prog_guide/malloc_lib.rst | 233 ----------- > doc/guides/prog_guide/overview.rst | 11 +- > doc/guides/rel_notes/abi.rst | 1 + > drivers/net/af_packet/Makefile | 1 - > drivers/net/bonding/Makefile | 1 - > drivers/net/e1000/Makefile | 2 +- > drivers/net/enic/Makefile | 2 +- > drivers/net/fm10k/Makefile | 2 +- > drivers/net/i40e/Makefile | 2 +- > drivers/net/ixgbe/Makefile | 2 +- > drivers/net/mlx4/Makefile | 1 - > drivers/net/null/Makefile | 1 - > drivers/net/pcap/Makefile | 1 - > drivers/net/virtio/Makefile | 2 +- > drivers/net/vmxnet3/Makefile | 2 +- > drivers/net/xenvirt/Makefile | 2 +- > lib/Makefile | 2 +- > lib/librte_acl/Makefile | 2 +- > lib/librte_eal/bsdapp/eal/Makefile | 4 +- > lib/librte_eal/bsdapp/eal/rte_eal_version.map | 19 + > lib/librte_eal/common/Makefile | 1 + > lib/librte_eal/common/eal_common_memzone.c | 339 ++++++---------- > lib/librte_eal/common/include/rte_eal_memconfig.h | 5 +- > lib/librte_eal/common/include/rte_malloc.h | 342 ++++++++++++++++ > lib/librte_eal/common/include/rte_malloc_heap.h | 3 +- > lib/librte_eal/common/include/rte_memzone.h | 11 + > lib/librte_eal/common/malloc_elem.c | 344 ++++++++++++++++ > lib/librte_eal/common/malloc_elem.h | 192 +++++++++ > lib/librte_eal/common/malloc_heap.c | 206 ++++++++++ > lib/librte_eal/common/malloc_heap.h | 70 ++++ > lib/librte_eal/common/rte_malloc.c | 259 ++++++++++++ > lib/librte_eal/linuxapp/eal/Makefile | 4 +- > lib/librte_eal/linuxapp/eal/eal_ivshmem.c | 17 +- > lib/librte_eal/linuxapp/eal/rte_eal_version.map | 19 + > lib/librte_hash/Makefile | 2 +- > lib/librte_lpm/Makefile | 2 +- > lib/librte_malloc/Makefile | 6 +- > lib/librte_malloc/malloc_elem.c | 320 --------------- > lib/librte_malloc/malloc_elem.h | 190 --------- > lib/librte_malloc/malloc_heap.c | 208 ---------- > lib/librte_malloc/malloc_heap.h | 70 ---- > lib/librte_malloc/rte_malloc.c | 228 +---------- > lib/librte_malloc/rte_malloc.h | 342 ---------------- > lib/librte_malloc/rte_malloc_version.map | 16 - > lib/librte_mempool/Makefile | 2 - > lib/librte_port/Makefile | 1 - > lib/librte_ring/Makefile | 3 +- > lib/librte_table/Makefile | 1 - > 56 files changed, 1928 insertions(+), 2356 deletions(-) > delete mode 100644 doc/guides/prog_guide/malloc_lib.rst > create mode 100644 lib/librte_eal/common/include/rte_malloc.h > create mode 100644 lib/librte_eal/common/malloc_elem.c > create mode 100644 lib/librte_eal/common/malloc_elem.h > create mode 100644 lib/librte_eal/common/malloc_heap.c > create mode 100644 lib/librte_eal/common/malloc_heap.h > create mode 100644 lib/librte_eal/common/rte_malloc.c > delete mode 100644 lib/librte_malloc/malloc_elem.c > delete mode 100644 lib/librte_malloc/malloc_elem.h > delete mode 100644 lib/librte_malloc/malloc_heap.c > delete mode 100644 lib/librte_malloc/malloc_heap.h > delete mode 100644 lib/librte_malloc/rte_malloc.h >=20 > -- Acked-by: Konstantin Ananyev > 1.9.3