From: Thomas Monjalon <thomas.monjalon@6wind.com>
To: sergio.gonzalez.monroy@intel.com
Cc: dev@dpdk.org
Subject: memory allocation requirements
Date: Wed, 13 Apr 2016 18:03:25 +0200 [thread overview]
Message-ID: <1500486.8lzTDt5Q91@xps13> (raw)
After looking at the patches for container support, it appears that
some changes are needed in the memory management:
http://thread.gmane.org/gmane.comp.networking.dpdk.devel/32786/focus=32788
I think it is time to collect what are the needs and expectations of
the DPDK memory allocator. The goal is to satisfy every needs while
cleaning the API.
Here is a first try to start the discussion.
The memory allocator has 2 classes of API in DPDK.
First the user/application allows or requires DPDK to take over some
memory resources of the system. The characteristics can be:
- numa node
- page size
- swappable or not
- contiguous (cannot be guaranteed) or not
- physical address (as root only)
Then the drivers or other libraries use the memory through
- rte_malloc
- rte_memzone
- rte_mempool
I think we can integrate the characteristics of the requested memory
in rte_malloc. Then rte_memzone would be only a named rte_malloc.
The rte_mempool still focus on collection of objects with cache.
If a rework happens, maybe that the build options CONFIG_RTE_LIBRTE_IVSHMEM
and CONFIG_RTE_EAL_SINGLE_FILE_SEGMENTS can be removed.
The Xen support should also be better integrated.
Currently, the first class of API is directly implemented as command line
parameters. Please let's think of C functions first.
The EAL parameters should simply wrap some API functions and let the
applications tune the memory initialization with a well documented API.
Probably that I forget some needs, e.g. for the secondary processes.
Please comment.
next reply other threads:[~2016-04-13 16:03 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-13 16:03 Thomas Monjalon [this message]
2016-04-13 17:00 ` memory allocation requirements Wiles, Keith
2016-04-14 8:48 ` Sergio Gonzalez Monroy
2016-04-14 14:46 ` Olivier MATZ
2016-04-14 15:39 ` Sergio Gonzalez Monroy
2016-04-15 7:12 ` Olivier Matz
2016-04-15 8:47 ` Sergio Gonzalez Monroy
2016-05-18 10:28 ` Alejandro Lucero
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=1500486.8lzTDt5Q91@xps13 \
--to=thomas.monjalon@6wind.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 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.