From e853dbb8b23a697b4dfac48cb3d5bad16c7932b6 Mon Sep 17 00:00:00 2001 From: Anatoly Burakov Date: Fri, 25 May 2018 14:41:03 +0100 Subject: [PATCH] doc: add memory changes in release notes Signed-off-by: Anatoly Burakov --- doc/guides/rel_notes/release_18_05.rst | 34 ++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/doc/guides/rel_notes/release_18_05.rst b/doc/guides/rel_notes/release_18_05.rst index fc61cc851d..f6404bba9d 100644 --- a/doc/guides/rel_notes/release_18_05.rst +++ b/doc/guides/rel_notes/release_18_05.rst @@ -41,6 +41,40 @@ New Features Also, make sure to start the actual text at the margin. ========================================================= +* **Reworked memory subsystem.** + + Memory subsystem has been reworked to support new functionality. + + On Linux, support for reserving/unreserving hugepage memory at runtime was + added, so applications no longer need to pre-reserve memory at startup. Due to + reorganized internal workings of memory subsystem, any memory allocated + through ``rte_malloc()`` or ``rte_memzone_reserve()`` is no longer guaranteed + to be IOVA-contiguous. + + This functionality has introduced the following changes: + + * ``rte_eal_get_physmem_layout()`` was removed + * A new flag for memzone reservation (``RTE_MEMZONE_IOVA_CONTIG``) was added + to ensure reserved memory will be IOVA-contiguous, for use with device + drivers and other cases requiring such memory + * New callbacks for memory allocation/deallocation events, allowing user (or + drivers) to be notified of new memory being allocated or deallocated + * New callbacks for validating memory allocations above specified limit, + allowing user to permit or deny memory allocations + * A new command-line switch ``--legacy-mem`` to enable EAL behavior similar to + how older versions of DPDK worked (memory segments that are IOVA-contiguous, + but hugepages are reserved at startup only, and can never be released) + * A new command-line switch ``--single-file-segments`` to put all memory + segments within a segment list in a single file + * A set of convenience function calls to look up and iterate over allocated + memory segments + * ``-m`` and ``--socket-mem`` command-line arguments now carry an additional + meaning and mark pre-reserved hugepages as "unfree-able", thereby acting as + a mechanism guaranteeing minimum availability of hugepage memory to the + application + + Reserving/unreserving memory at runtime is not currently supported on FreeBSD. + * **Added bucket mempool driver.** Added bucket mempool driver which provides a way to allocate contiguous -- 2.20.1