[PATCH v11 0/6] introduce memarea library
Dongdong Liu
liudongdong3 at huawei.com
Tue Jan 10 03:21:13 CET 2023
Hi Chengwen
Except for a minor comments, this patchset looks good to me.
Reviewed-by: Dongdong Liu <liudongdong3 at huawei.com>
Thanks,
Dongdong
On 2022/12/13 17:13, Chengwen Feng wrote:
> The memarea library is an allocator of variable-size object which based
> on a memory region. The main features are as follows:
>
> - The memory region can be initialized from the following memory
> sources:
> 1. HEAP: e.g. invoke rte_malloc_socket.
> 2. LIBC: e.g. invoke posix_memalign.
> 3. Another memarea: it can be from another memarea.
>
> - It provides refcnt feature which could be useful in multi-reader
> scenario.
>
> - It supports MT-safe as long as it's specified at creation time.
>
> Note:
> a) The memarea is oriented towards the application layer, which could
> provides 'region-based memory management' [1] function.
> b) The eal library also provide memory zone/heap management, but these
> are tied to huge pages management.
>
> [1] https://en.wikipedia.org/wiki/Region-based_memory_management
>
> Signed-off-by: Chengwen Feng <fengchengwen at huawei.com>
>
> Chengwen Feng (6):
> memarea: introduce memarea library
> test/memarea: support memarea test
> memarea: support alloc/free/refcnt-update API
> test/memarea: support alloc/free/refcnt-update test
> memarea: support dump API
> test/memarea: support dump test
>
> ---
> v11:
> * rebase 23.03
> * remove "app/test: add memarea to malloc-perf-autotest" because the
> two algorithm are not comparable which also address previous
> comments.
> v10:
> * support windows platform.
> * add rte_memarea.libc perftest to malloc-perf-autotest.
> v9:
> * address Dmitry's comments.
> * drop features of SOURCE_USER and backup memarea mechanism.
> * rename rte_memarea_update_refcnt to rte_memarea_refcnt_update
> to keep with rte_mbuf_refcnt_update name style.
> * fix memarea perftest compile failed at windows platform.
> * fix spell warning.
> v8:
> * address Mattias's comments (rename ALG_DEFAULT with ALG_NEXTFIT).
> * small feature patches are combined.
> * enhanced backup memory mechanism.
> * add memarea to malloc-perf-autotest.
> * other tiny naming optimize.
> v7:
> * repost patches as there are spread over different series in patchwork.
> v6:
> * address Mattias's comments.
> v5:
> * fix 09/10 patch spell warning.
> v4:
> * repost patches as there are spread over different series in patchwork.
> v3:
> * add memory source of RTE memory.
> * add algorithm field to facilitate the introduction of new algorithms.
> * fix memarea log don't output problem.
> v2:
> * fix compile issues reported by dpdk-test-report.
> * address Dimitry and Jerin's comments.
> * add no MT-safe test.
>
> MAINTAINERS | 6 +
> app/test/meson.build | 2 +
> app/test/test_memarea.c | 308 ++++++++++++++++++
> doc/api/doxy-api-index.md | 3 +-
> doc/api/doxy-api.conf.in | 1 +
> doc/guides/prog_guide/index.rst | 1 +
> doc/guides/prog_guide/memarea_lib.rst | 52 ++++
> doc/guides/rel_notes/release_23_03.rst | 5 +
> lib/eal/common/eal_common_log.c | 1 +
> lib/eal/include/rte_log.h | 1 +
> lib/memarea/memarea_private.h | 36 +++
> lib/memarea/meson.build | 10 +
> lib/memarea/rte_memarea.c | 413 +++++++++++++++++++++++++
> lib/memarea/rte_memarea.h | 219 +++++++++++++
> lib/memarea/version.map | 16 +
> lib/meson.build | 1 +
> 16 files changed, 1074 insertions(+), 1 deletion(-)
> create mode 100644 app/test/test_memarea.c
> create mode 100644 doc/guides/prog_guide/memarea_lib.rst
> create mode 100644 lib/memarea/memarea_private.h
> create mode 100644 lib/memarea/meson.build
> create mode 100644 lib/memarea/rte_memarea.c
> create mode 100644 lib/memarea/rte_memarea.h
> create mode 100644 lib/memarea/version.map
>
More information about the dev
mailing list