Go to file
Anatoly Burakov ba0009560c mempool: support new allocation methods
If a user has specified that the zone should have contiguous memory,
add a memzone flag to request contiguous memory. Otherwise, account
for the fact that unless we're in IOVA_AS_VA mode, we cannot
guarantee that the pages would be physically contiguous, so we
calculate the memzone size and alignments as if we were getting
the smallest page size available.

However, for the non-IOVA contiguous case, existing mempool size
calculation function doesn't give us expected results, because it
will return memzone sizes aligned to page size (e.g. a 1MB mempool
may use an entire 1GB page), therefore in cases where we weren't
specifically asked to reserve non-contiguous memory, first try
reserving a memzone as IOVA-contiguous, and if that fails, then
try reserving with page-aligned size/alignment.

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
Tested-by: Santosh Shukla <santosh.shukla@caviumnetworks.com>
Tested-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Tested-by: Gowrishankar Muthukrishnan <gowrishankar.m@linux.vnet.ibm.com>
2018-04-11 19:45:48 +02:00
app app/crypto-perf: fix IOVA translation 2018-04-11 02:12:16 +02:00
buildtools buildtools: output build failure reason to stderr 2018-02-08 22:25:37 +01:00
config use SPDX tag for RehiveTech copyright files 2018-04-11 01:47:43 +02:00
devtools eal: support strlcpy function 2018-04-04 17:33:08 +02:00
doc align SPDX Mellanox copyrights 2018-04-11 01:47:47 +02:00
drivers net/vmxnet3: use contiguous allocation for DMA memory 2018-04-11 19:45:45 +02:00
examples examples/ip_pipeline: skip in FreeBSD build 2018-04-10 14:41:01 +02:00
kernel kni: fix build on RHEL 7.5 2018-03-28 00:15:08 +02:00
lib mempool: support new allocation methods 2018-04-11 19:45:48 +02:00
license license: introduce SPDX identifiers 2018-01-04 22:41:38 +01:00
mk use SPDX tag for RehiveTech copyright files 2018-04-11 01:47:43 +02:00
pkg version: 18.02.0 2018-02-14 19:11:02 +01:00
test test: add command to dump malloc heap contents 2018-04-11 19:37:57 +02:00
usertools usertools: change to SPDX license identifier 2018-04-11 01:48:12 +02:00
.gitattributes improve git diff 2016-11-13 15:25:12 +01:00
.gitignore devtools: add tags and cscope index generation 2017-04-30 12:57:04 +02:00
GNUmakefile move kernel modules directories 2018-03-21 23:04:21 +01:00
MAINTAINERS maintainers: call out subtree committers 2018-04-11 00:52:51 +02:00
Makefile license: use SPDX tag in root makefile 2018-01-04 22:41:38 +01:00
meson_options.txt test: build app with meson as dpdk-test 2018-01-30 21:58:59 +01:00
meson.build move kernel modules directories 2018-03-21 23:04:21 +01:00
README license: introduce SPDX identifiers 2018-01-04 22:41:38 +01:00

DPDK is a set of libraries and drivers for fast packet processing.
It supports many processor architectures and both FreeBSD and Linux.

The DPDK uses the Open Source BSD-3-Clause license for the core libraries
and drivers. The kernel components are GPL-2.0 licensed.

Please check the doc directory for release notes,
API documentation, and sample application information.

For questions and usage discussions, subscribe to: users@dpdk.org
Report bugs and issues to the development mailing list: dev@dpdk.org