DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Ananyev, Konstantin" <konstantin.ananyev@intel.com>
To: "Gonzalez Monroy, Sergio" <sergio.gonzalez.monroy@intel.com>,
	"dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] [PATCH v6 0/9] Dynamic memzones
Date: Fri, 26 Jun 2015 16:13:23 +0000	[thread overview]
Message-ID: <2601191342CEEE43887BDE71AB97725836A1E9A0@irsmsx105.ger.corp.intel.com> (raw)
In-Reply-To: <1435332578-28415-1-git-send-email-sergio.gonzalez.monroy@intel.com>



> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Sergio Gonzalez Monroy
> Sent: Friday, June 26, 2015 4:29 PM
> To: dev@dpdk.org
> Subject: [dpdk-dev] [PATCH v6 0/9] Dynamic memzones
> 
> Current implemetation allows reserving/creating memzones but not the opposite
> (unreserve/free). This affects mempools and other memzone based objects.
> 
> 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 circular
> dependency), where malloc heaps are composed of memsegs.
> We keep both malloc and memzone APIs as they are, but memzones allocate its
> memory by calling malloc_heap_alloc.
> Some extra functionality is required in malloc to allow for boundary constrained
> memory requests.
> In summary, currently malloc is based on memzones, and with this approach
> memzones are based on malloc.
> 
> v6:
>  - fix bad patch for rte_memzone_free
> 
> v5:
>  - Fix rte_memzone_free
>  - Improve rte_memzone_free unit test
> 
> v4:
>  - Rebase and fix couple of merge issues
> 
> v3:
>  - Create dummy librte_malloc
>  - Add deprecation notice
>  - Rework some of the code
>  - Doc update
>  - checkpatch
> 
> v2:
>  - New rte_memzone_free
>  - Support memzone len = 0
>  - Add all available memsegs to malloc heap at init
>  - Update memzone/malloc unit tests
> 
> 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
> 
>  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 bytes
>  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
> 
> --

Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>

> 1.9.3

  parent reply	other threads:[~2015-06-26 16:13 UTC|newest]

Thread overview: 108+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-08 16:37 [dpdk-dev] [RFC PATCH 0/2] dynamic memzones Sergio Gonzalez Monroy
2015-05-08 16:37 ` [dpdk-dev] [RFC PATCH 1/2] eal: move librte_malloc to eal/common Sergio Gonzalez Monroy
2015-05-08 16:37 ` [dpdk-dev] [RFC PATCH 2/2] eal: memzone allocated by malloc Sergio Gonzalez Monroy
2015-05-12 16:30 ` [dpdk-dev] [RFC PATCH 0/2] dynamic memzones Olivier MATZ
2015-06-06 10:32 ` [dpdk-dev] [PATCH v2 0/7] dynamic memzone Sergio Gonzalez Monroy
2015-06-06 10:32   ` [dpdk-dev] [PATCH v2 1/7] eal: move librte_malloc to eal/common Sergio Gonzalez Monroy
2015-06-06 10:32   ` [dpdk-dev] [PATCH v2 2/7] eal: memzone allocated by malloc Sergio Gonzalez Monroy
2015-06-06 10:32   ` [dpdk-dev] [PATCH v2 3/7] app/test: update malloc/memzone unit tests Sergio Gonzalez Monroy
2015-06-06 10:32   ` [dpdk-dev] [PATCH v2 4/7] config: remove CONFIG_RTE_MALLOC_MEMZONE_SIZE Sergio Gonzalez Monroy
2015-06-06 10:32   ` [dpdk-dev] [PATCH v2 5/7] eal: remove setup of free_memseg in ivshmem Sergio Gonzalez Monroy
2015-06-06 10:32   ` [dpdk-dev] [PATCH v2 6/7] eal: new rte_memzone_free Sergio Gonzalez Monroy
2015-06-06 10:32   ` [dpdk-dev] [PATCH v2 7/7] app/test: update unit test with rte_memzone_free Sergio Gonzalez Monroy
2015-06-19 17:21   ` [dpdk-dev] [PATCH v3 0/9] Dynamic memzone Sergio Gonzalez Monroy
2015-06-19 17:21     ` [dpdk-dev] [PATCH v3 1/9] eal: move librte_malloc to eal/common Sergio Gonzalez Monroy
2015-06-19 17:21     ` [dpdk-dev] [PATCH v3 2/9] eal: memzone allocated by malloc Sergio Gonzalez Monroy
2015-06-19 17:21     ` [dpdk-dev] [PATCH v3 3/9] app/test: update malloc/memzone unit tests Sergio Gonzalez Monroy
2015-06-19 17:21     ` [dpdk-dev] [PATCH v3 4/9] config: remove CONFIG_RTE_MALLOC_MEMZONE_SIZE Sergio Gonzalez Monroy
2015-06-19 17:21     ` [dpdk-dev] [PATCH v3 5/9] eal: remove free_memseg and references to it Sergio Gonzalez Monroy
2015-06-19 17:21     ` [dpdk-dev] [PATCH v3 6/9] eal: new rte_memzone_free Sergio Gonzalez Monroy
2015-06-19 17:21     ` [dpdk-dev] [PATCH v3 7/9] app/test: update unit test with rte_memzone_free Sergio Gonzalez Monroy
2015-06-19 17:21     ` [dpdk-dev] [PATCH v3 8/9] doc: announce ABI change of librte_malloc Sergio Gonzalez Monroy
2015-06-19 17:21     ` [dpdk-dev] [PATCH v3 9/9] doc: update malloc documentation Sergio Gonzalez Monroy
2015-06-25 14:05   ` [dpdk-dev] [PATCH v4 0/9] Dynamic memzone Sergio Gonzalez Monroy
2015-06-25 14:05     ` [dpdk-dev] [PATCH v4 1/9] eal: move librte_malloc to eal/common Sergio Gonzalez Monroy
2015-06-25 14:05     ` [dpdk-dev] [PATCH v4 2/9] eal: memzone allocated by malloc Sergio Gonzalez Monroy
2015-06-25 14:05     ` [dpdk-dev] [PATCH v4 3/9] app/test: update malloc/memzone unit tests Sergio Gonzalez Monroy
2015-06-25 14:05     ` [dpdk-dev] [PATCH v4 4/9] config: remove CONFIG_RTE_MALLOC_MEMZONE_SIZE Sergio Gonzalez Monroy
2015-06-25 14:05     ` [dpdk-dev] [PATCH v4 5/9] eal: remove free_memseg and references to it Sergio Gonzalez Monroy
2015-06-25 14:05     ` [dpdk-dev] [PATCH v4 6/9] eal: new rte_memzone_free Sergio Gonzalez Monroy
2015-06-25 14:05     ` [dpdk-dev] [PATCH v4 7/9] app/test: update unit test with rte_memzone_free Sergio Gonzalez Monroy
2015-06-25 14:05     ` [dpdk-dev] [PATCH v4 8/9] doc: announce ABI change of librte_malloc Sergio Gonzalez Monroy
2015-06-25 14:05     ` [dpdk-dev] [PATCH v4 9/9] doc: update malloc documentation Sergio Gonzalez Monroy
2015-06-26 11:32   ` [dpdk-dev] [PATCH v5 0/9] Dynamic memzones Sergio Gonzalez Monroy
2015-06-26 11:32     ` [dpdk-dev] [PATCH v5 1/9] eal: move librte_malloc to eal/common Sergio Gonzalez Monroy
2015-06-26 11:32     ` [dpdk-dev] [PATCH v5 2/9] eal: memzone allocated by malloc Sergio Gonzalez Monroy
2015-06-26 11:32     ` [dpdk-dev] [PATCH v5 3/9] app/test: update malloc/memzone unit tests Sergio Gonzalez Monroy
2015-06-26 11:32     ` [dpdk-dev] [PATCH v5 4/9] config: remove CONFIG_RTE_MALLOC_MEMZONE_SIZE Sergio Gonzalez Monroy
2015-06-26 11:32     ` [dpdk-dev] [PATCH v5 5/9] eal: remove free_memseg and references to it Sergio Gonzalez Monroy
2015-06-26 11:32     ` [dpdk-dev] [PATCH v5 6/9] eal: new rte_memzone_free Sergio Gonzalez Monroy
2015-06-26 11:32     ` [dpdk-dev] [PATCH v5 7/9] app/test: update unit test with rte_memzone_free Sergio Gonzalez Monroy
2015-06-26 11:32     ` [dpdk-dev] [PATCH v5 8/9] doc: announce ABI change of librte_malloc Sergio Gonzalez Monroy
2015-06-26 11:32     ` [dpdk-dev] [PATCH v5 9/9] doc: update malloc documentation Sergio Gonzalez Monroy
2015-06-26 15:29   ` [dpdk-dev] [PATCH v6 0/9] Dynamic memzones Sergio Gonzalez Monroy
2015-06-26 15:29     ` [dpdk-dev] [PATCH v6 1/9] eal: move librte_malloc to eal/common Sergio Gonzalez Monroy
2015-07-02 12:14       ` Thomas Monjalon
2015-07-03  8:16         ` Gonzalez Monroy, Sergio
2015-07-03  9:02           ` Thomas Monjalon
2015-06-26 15:29     ` [dpdk-dev] [PATCH v6 2/9] eal: memzone allocated by malloc Sergio Gonzalez Monroy
2015-06-26 15:29     ` [dpdk-dev] [PATCH v6 3/9] app/test: update malloc/memzone unit tests Sergio Gonzalez Monroy
2015-06-26 15:29     ` [dpdk-dev] [PATCH v6 4/9] config: remove CONFIG_RTE_MALLOC_MEMZONE_SIZE Sergio Gonzalez Monroy
2015-06-26 15:29     ` [dpdk-dev] [PATCH v6 5/9] eal: remove free_memseg and references to it Sergio Gonzalez Monroy
2015-06-26 15:29     ` [dpdk-dev] [PATCH v6 6/9] eal: new rte_memzone_free Sergio Gonzalez Monroy
2015-06-26 15:29     ` [dpdk-dev] [PATCH v6 7/9] app/test: rte_memzone_free unit test Sergio Gonzalez Monroy
2015-06-26 15:29     ` [dpdk-dev] [PATCH v6 8/9] doc: announce ABI change of librte_malloc Sergio Gonzalez Monroy
2015-06-26 15:29     ` [dpdk-dev] [PATCH v6 9/9] doc: update malloc documentation Sergio Gonzalez Monroy
2015-06-26 16:13     ` Ananyev, Konstantin [this message]
2015-07-03  9:55     ` [dpdk-dev] [PATCH v7 0/9] Dynamic memzones Sergio Gonzalez Monroy
2015-07-03  9:55       ` [dpdk-dev] [PATCH v7 1/9] eal: move librte_malloc to eal/common Sergio Gonzalez Monroy
2015-07-03  9:55       ` [dpdk-dev] [PATCH v7 2/9] eal: memzone allocated by malloc Sergio Gonzalez Monroy
2015-07-03  9:55       ` [dpdk-dev] [PATCH v7 3/9] app/test: update malloc/memzone unit tests Sergio Gonzalez Monroy
2015-07-03  9:55       ` [dpdk-dev] [PATCH v7 4/9] config: remove CONFIG_RTE_MALLOC_MEMZONE_SIZE Sergio Gonzalez Monroy
2015-07-03  9:55       ` [dpdk-dev] [PATCH v7 5/9] eal: remove free_memseg and references to it Sergio Gonzalez Monroy
2015-07-03  9:55       ` [dpdk-dev] [PATCH v7 6/9] eal: new rte_memzone_free Sergio Gonzalez Monroy
2015-07-03  9:55       ` [dpdk-dev] [PATCH v7 7/9] app/test: rte_memzone_free unit test Sergio Gonzalez Monroy
2015-07-03  9:55       ` [dpdk-dev] [PATCH v7 8/9] doc: announce ABI change of librte_malloc Sergio Gonzalez Monroy
2015-07-03  9:55       ` [dpdk-dev] [PATCH v7 9/9] doc: update malloc documentation Sergio Gonzalez Monroy
2015-07-13 13:15       ` [dpdk-dev] [PATCH v7 0/9] Dynamic memzones Thomas Monjalon
2015-07-14  8:57       ` [dpdk-dev] [PATCH v8 " Sergio Gonzalez Monroy
2015-07-14  8:57         ` [dpdk-dev] [PATCH v8 1/9] eal: move librte_malloc to eal/common Sergio Gonzalez Monroy
2015-07-14  8:57         ` [dpdk-dev] [PATCH v8 2/9] eal: memzone allocated by malloc Sergio Gonzalez Monroy
2015-07-14 20:41           ` Thomas Monjalon
2015-07-14  8:57         ` [dpdk-dev] [PATCH v8 3/9] app/test: update malloc/memzone unit tests Sergio Gonzalez Monroy
2015-07-14  8:57         ` [dpdk-dev] [PATCH v8 4/9] config: remove CONFIG_RTE_MALLOC_MEMZONE_SIZE Sergio Gonzalez Monroy
2015-07-14  8:57         ` [dpdk-dev] [PATCH v8 5/9] eal: remove free_memseg and references to it Sergio Gonzalez Monroy
2015-07-14  8:57         ` [dpdk-dev] [PATCH v8 6/9] eal: new rte_memzone_free Sergio Gonzalez Monroy
2015-07-14  8:57         ` [dpdk-dev] [PATCH v8 7/9] app/test: rte_memzone_free unit test Sergio Gonzalez Monroy
2015-07-14  8:57         ` [dpdk-dev] [PATCH v8 8/9] doc: announce ABI change of librte_malloc Sergio Gonzalez Monroy
2015-07-14  8:57         ` [dpdk-dev] [PATCH v8 9/9] doc: update malloc documentation Sergio Gonzalez Monroy
2015-07-15  8:26         ` [dpdk-dev] [PATCH v9 0/9] Dynamic memzones Sergio Gonzalez Monroy
2015-07-15  8:26           ` [dpdk-dev] [PATCH v9 1/9] eal: move librte_malloc to eal/common Sergio Gonzalez Monroy
2015-07-15  8:26           ` [dpdk-dev] [PATCH v9 2/9] eal: memzone allocated by malloc Sergio Gonzalez Monroy
2015-07-15  8:26           ` [dpdk-dev] [PATCH v9 3/9] app/test: update malloc/memzone unit tests Sergio Gonzalez Monroy
2015-07-15  8:26           ` [dpdk-dev] [PATCH v9 4/9] config: remove CONFIG_RTE_MALLOC_MEMZONE_SIZE Sergio Gonzalez Monroy
2015-07-15  8:26           ` [dpdk-dev] [PATCH v9 5/9] eal: remove free_memseg and references to it Sergio Gonzalez Monroy
2015-07-15  8:26           ` [dpdk-dev] [PATCH v9 6/9] eal: new rte_memzone_free Sergio Gonzalez Monroy
2015-07-15  8:26           ` [dpdk-dev] [PATCH v9 7/9] app/test: rte_memzone_free unit test Sergio Gonzalez Monroy
2015-07-15  8:26           ` [dpdk-dev] [PATCH v9 8/9] doc: announce ABI change of librte_malloc Sergio Gonzalez Monroy
2015-07-15  8:26           ` [dpdk-dev] [PATCH v9 9/9] doc: update malloc documentation Sergio Gonzalez Monroy
2015-07-15 14:07             ` Thomas Monjalon
2015-07-15 14:11               ` Gonzalez Monroy, Sergio
2015-07-15 14:48                 ` Thomas Monjalon
2015-07-15 16:32           ` [dpdk-dev] [PATCH v10 0/9] Dynamic memzones Sergio Gonzalez Monroy
2015-07-15 16:32             ` [dpdk-dev] [PATCH v10 1/9] eal: move librte_malloc to eal/common Sergio Gonzalez Monroy
2015-07-15 16:32             ` [dpdk-dev] [PATCH v10 2/9] eal: memzone allocated by malloc Sergio Gonzalez Monroy
2015-07-15 16:32             ` [dpdk-dev] [PATCH v10 3/9] app/test: update malloc/memzone unit tests Sergio Gonzalez Monroy
2015-07-15 16:32             ` [dpdk-dev] [PATCH v10 4/9] config: remove CONFIG_RTE_MALLOC_MEMZONE_SIZE Sergio Gonzalez Monroy
2015-07-15 16:32             ` [dpdk-dev] [PATCH v10 5/9] eal: remove free_memseg and references to it Sergio Gonzalez Monroy
2015-07-15 16:32             ` [dpdk-dev] [PATCH v10 6/9] eal: new rte_memzone_free Sergio Gonzalez Monroy
2015-07-15 16:32             ` [dpdk-dev] [PATCH v10 7/9] app/test: rte_memzone_free unit test Sergio Gonzalez Monroy
2015-07-15 16:32             ` [dpdk-dev] [PATCH v10 8/9] doc: announce ABI change of librte_malloc Sergio Gonzalez Monroy
2015-07-15 16:32             ` [dpdk-dev] [PATCH v10 9/9] doc: update malloc documentation Sergio Gonzalez Monroy
2015-07-16  7:37               ` [dpdk-dev] [PATCH v11] " Sergio Gonzalez Monroy
2015-07-16 10:07                 ` Thomas Monjalon
2015-07-16 10:12                 ` Thomas Monjalon
2015-07-16 10:39                   ` Gonzalez Monroy, Sergio
2015-07-16 12:05             ` [dpdk-dev] [PATCH v10 0/9] Dynamic memzones Thomas Monjalon
2015-10-14  0:12         ` [dpdk-dev] [PATCH v8 " Stephen Hemminger
2015-10-14 11:05           ` Gonzalez Monroy, Sergio

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2601191342CEEE43887BDE71AB97725836A1E9A0@irsmsx105.ger.corp.intel.com \
    --to=konstantin.ananyev@intel.com \
    --cc=dev@dpdk.org \
    --cc=sergio.gonzalez.monroy@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).